private void addSignature(Stream inputPdfStream, PfxData pfxData)
{
byte[] buffer;
using (var outputPdfStream = new MemoryStream())
{
using (var stamper = PdfStamper.CreateSignature(new CustomPdfReader(inputPdfStream, pfxData.X509PrivateKeys[0], pfxData.PublicKey), outputPdfStream, '\0', null, SignatureData.CertificateFile.AppendSignature))
{
tryAddSignature(stamper);
}
buffer = outputPdfStream.GetBuffer();
}
inputPdfStream.Position = 0;
inputPdfStream.SetLength(0);
using (var signedStream = new MemoryStream(buffer))
{
signedStream.WriteTo(inputPdfStream);
}
}