Yes, the procedure is different and I have to make an "How to sign" in C#.
Here's an example to get you going:
To sign (note that for the moment CRLs are not supported):
using org.bouncycastle.pkcs;
using org.bouncycastle.crypto;
using org.bouncycastle.x509;
using iTextSharp.text;
using iTextSharp.text.pdf;
string alias = null;
PKCS12Store pk12 = new PKCS12Store(new FileStream("c:\\the_key.pfx",
FileMode.Open, FileAccess.Read), "password".ToCharArray());
IEnumerator i = pk12.aliases();
while (i.MoveNext()) {
alias = ((string)i.Current);
if (pk12.isKeyEntry(alias))
break;
}
AsymmetricKeyParameter akp = pk12.getKey(alias).getKey();
X509CertificateEntry[] ce = pk12.getCertificateChain(alias);
X509Certificate[] chain = new X509Certificate[ce.Length];
for (int k = 0; k < ce.Length; ++k)
chain[k] = ce[k].getCertificate();
PdfReader reader = new PdfReader("input.pdf");
PdfStamper st = PdfStamper.CreateSignature(reader, new
FileStream("output.pdf", FileMode.Create, FileAccess.Write), '\0');
PdfSignatureAppearance sap = st.SignatureAppearance;
sap.SetCrypto(akp, chain, null, PdfSignatureAppearance.WINCER_SIGNED);
sap.Reason = "My Signature";
sap.Location = "Universe";
sap.SetVisibleSignature(new Rectangle(100, 100, 200, 200), 1, null);
st.Close();
To verify the only problem is where to get the certificates.
To get the certificates from the system using WSE:
using wsex = Microsoft.Web.Services.Security.X509;
wsex.X509CertificateStore store = new
wsex.X509CertificateStore(wsex.X509CertificateStore.StoreProvider.System,
wsex.X509CertificateStore.StoreLocation.LocalMachine,
wsex.X509CertificateStore.RootStore);
store.Open();
wsex.X509CertificateCollection c = store.Certificates;
foreach (wsex.X509Certificate cert in c) {
X509Certificate c2 = new X509Certificate(cert.GetRawCertData());
}
To get the certificates from some PKCS#7:
X509CertificateParser p = new X509CertificateParser(new
FileStream("filecertexp.p7b", FileMode.Open, FileAccess.Read));
X509Certificate x = p.ReadCertificate();
while (x != null) {
x = p.ReadCertificate();
}
----- Original Message -----
From: "Matthew Wagner" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Thursday, August 11, 2005 8:31 PM
Subject: [iText-questions] iTextSharp
> Is there a C# alternative to java.security.KeyStore? I'm trying to sign a
pdf
> with iTextSharp and am having trouble getting past this part.
>
>
>
> -------------------------------------------------------
> SF.Net email is Sponsored by the Better Software Conference & EXPO
> September 19-22, 2005 * San Francisco, CA * Development Lifecycle
Practices
> Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
> Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
> _______________________________________________
> iText-questions mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/itext-questions
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
iText-questions mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/itext-questions