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 / Smartcard
Visual Basic 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. Dim crypt As New ChilkatCrypt2 ' Any string argument automatically begins the 30-day trial. Dim success As Long success = crypt.UnlockComponent("30-day trial") If (success <> 1) Then MsgBox "Crypt component unlock failed" Exit Sub End If ' 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. Dim ccs As New ChilkatCreateCS Dim certStore As ChilkatCertStore Set certStore = ccs.OpenCurrentUserStore() Dim cert As ChilkatCert Set cert = certStore.FindCertBySubjectCN("Chilkat Software, Inc.") If (cert Is Nothing ) Then MsgBox cert.LastErrorText Exit Sub End If ' 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: Dim csp As New ChilkatCSP 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 = 0) Then MsgBox crypt.LastErrorText Exit Sub End If MsgBox crypt.LastErrorText ' Verify the signature... crypt.SetVerifyCert cert success = crypt.VerifyP7S("test.xml","test.p7s") If (success = 0) Then MsgBox crypt.LastErrorText Exit Sub End If MsgBox "Success!" |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.