Цифровая подпись в PDF - полная цепочка сертификатов не отображается в DC считывателя Acrobat с использованием Itextsharp 5 с .net On FOXIT показывает полную цепочку сертификатов.
Ссылка для скачивания PDF: PDF_SAMPLE
private void SignWithCertificate(X509Certificate2 cert)
{
ICollection<X509Certificate> chain = new List<X509Certificate>();
X509Chain x509chain = new X509Chain();
x509chain.Build(cert);
foreach (X509ChainElement x509ChainElement in x509chain.ChainElements)
{
chain.Add(DotNetUtilities.FromX509Certificate(x509ChainElement.Certificate));
}
IExternalSignature externalSignature = new X509Certificate2Signature(cert, "SHA-256");
PdfReader pdfReader = new PdfReader(_sourceFile);
FileStream signedPdf = new FileStream(_targetFile, FileMode.Create); //the output pdf file
PdfStamper pdfStamper = PdfStamper.CreateSignature(pdfReader, signedPdf, '\0');
PdfSignatureAppearance signatureAppearance = pdfStamper.SignatureAppearance;
//here set signatureAppearance at your will
signatureAppearance.Reason = _reason;
signatureAppearance.Location = _location;
signatureAppearance.SignatureRenderingMode = PdfSignatureAppearance.RenderingMode.DESCRIPTION;
signatureAppearance.Acro6Layers = true;
signatureAppearance.Layer4Text = "";
signatureAppearance.SetVisibleSignature(new Rectangle(_coordinates), _pageNo, "Sig");
MakeSignature.SignDetached(signatureAppearance, externalSignature, chain, null, null, null, 0, CryptoStandard.CADES);
}