kostya82 - 2005-11-30

I am trying to sign PDF document with iTextSharp. I didn't find any example so I have rewritten java example as follows:

FileStream certFile = File.OpenRead("Konstantin.pfx");
PKCS12Store ks = new PKCS12Store(certFile, "qwerty".ToCharArray());
IEnumerator aliases = ks.aliases();
aliases.MoveNext();
string alias = (string)aliases.Current;
AsymmetricKeyEntry key = ks.getKey(alias);
X509CertificateEntry[] chain = ks.getCertificateChain(alias);
X509Certificate[] chain2 = new X509Certificate[chain.Length];
for (int i = 0; i < chain.Length; i++)
chain2[i] = chain[i].getCertificate();

PdfReader reader = new PdfReader("!my.pdf");
FileStream fout = File.OpenWrite("signed3.pdf");

PdfStamper stp = PdfStamper.CreateSignature(reader, fout, '\0');

PdfSignatureAppearance sap = stp.SignatureAppearance;
            sap.SetCrypto(key.getKey(), chain2, null, PdfSignatureAppearance.WINCER_SIGNED);
sap.Reason = "I'm the author";
sap.Location = "Lisbon";
// comment next line to have an invisible signature
sap.SetVisibleSignature(new Rectangle(100, 100, 200, 200), 1, null);
stp.Close();

Unfortunately, Acrobat fails to verify produced signature. Does iTextSharp support digital signatures? Or may be I am doing something wrong?