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 / SmartcardVisual FoxPro 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.
LOCAL loCrypt LOCAL lnSuccess LOCAL loCcs LOCAL loCertStore LOCAL loCert LOCAL loCsp loCrypt = CreateObject('Chilkat.Crypt2') * Any string argument automatically begins the 30-day trial. lnSuccess = loCrypt.UnlockComponent("30-day trial") IF (lnSuccess <> 1) THEN =MESSAGEBOX("Crypt component unlock failed") QUIT ENDIF * 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. loCcs = CreateObject('Chilkat.CreateCS') loCertStore = loCcs.OpenCurrentUserStore() loCert = loCertStore.FindCertBySubjectCN("Chilkat Software, Inc.") IF (loCert = NULL ) THEN =MESSAGEBOX(loCert.LastErrorText) RELEASE loCertStore QUIT ENDIF * Tell the crypt component to use this cert. loCrypt.SetSigningCert(loCert) RELEASE loCertStore * 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: loCsp = CreateObject('Chilkat.Csp') loCsp.ProviderName = "nCipher Enhanced Cryptographic Provider" * Tell the crypt object to use the CSP: loCrypt.SetCSP(loCsp) * We can sign any type of file, creating a .p7s detached signature as output: lnSuccess = loCrypt.CreateP7S("test.xml","test.p7s") IF (lnSuccess = 0) THEN =MESSAGEBOX(loCrypt.LastErrorText) RELEASE loCert QUIT ENDIF =MESSAGEBOX(loCrypt.LastErrorText) * Verify the signature... loCrypt.SetVerifyCert(loCert) lnSuccess = loCrypt.VerifyP7S("test.xml","test.p7s") IF (lnSuccess = 0) THEN =MESSAGEBOX(loCrypt.LastErrorText) RELEASE loCert QUIT ENDIF RELEASE loCert =MESSAGEBOX("Success!") |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.
Mail Component · .NET Email Component · ASP Mail Component · XML Parser