Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
Create .p7s Signature with HSM / SmartcardC# example showing how to use a CSP (Cryptographic Service Provider) for a smart card / HSM (Hardware Security Module) to create a .p7s (PKCS7) output file. This example uses the NCipher HSM CSP.
Chilkat.Crypt2 crypt = new Chilkat.Crypt2(); // Any string argument automatically begins the 30-day trial. bool success; success = crypt.UnlockComponent("30-day trial"); if (success != true) { MessageBox.Show("Crypt component unlock failed"); return; } // Find our digital certificate from the Current User certificate store. // Note: There are several other ways to load your certificate // into a Chilkat cert object. You may load directly from a .cer file, // PEM file, pfx, etc. Chilkat.CreateCS ccs = new Chilkat.CreateCS(); Chilkat.CertStore certStore = null; certStore = ccs.OpenCurrentUserStore(); Chilkat.Cert cert = null; cert = certStore.FindCertBySubjectCN("Chilkat Software, Inc."); if (cert == null ) { MessageBox.Show(cert.LastErrorText); return; } // Tell the crypt component to use this cert. crypt.SetSigningCert(cert); // To use an HSM or smartcard, create a CSP object, // set the service provider, and then tell the Chilkat Crypt // component to use the CSP: // This example uses the NCipher HSM. The // provider names must be specied exactly. // The NCipher provider names are: // PROV_RSA_FULL ("nCipher Enhanced Cryptographic Provider") // PROV_RSA_AES ("nCipher Enhanced RSA and AES Cryptographic Provider") // PROV_RSA_SCHANNEL("nCipher Enhanced SChannel Cryptographic Provider") // PROV_DSS_DH ("nCipher Enhanced DSS and Diffie-Hellman Cryptographic Provider") // PROV_DH_SCHANNEL ("nCipher Enhanced DSS and Diffie-Hellman SChannel Cryptographic Provider") // We'll be using the RSA FULL provider: Chilkat.Csp csp = new Chilkat.Csp(); csp.ProviderName = "nCipher Enhanced Cryptographic Provider"; // Tell the crypt object to use the CSP: crypt.SetCSP(csp); // We can sign any type of file, creating a .p7s detached signature as output: success = crypt.CreateP7S("test.xml","test.p7s"); if (success == false) { MessageBox.Show(crypt.LastErrorText); return; } MessageBox.Show(crypt.LastErrorText); // Verify the signature... crypt.SetVerifyCert(cert); success = crypt.VerifyP7S("test.xml","test.p7s"); if (success == false) { MessageBox.Show(crypt.LastErrorText); return; } MessageBox.Show("Success!"); |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.