Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
PKCS7 SignedData Signature (embeds Signed Data)How to create a PKCS7 signature. The resulting PKCS7 structure is encoded to a printable string using hex or base64 encoding. The data being signed is embedded within the PKCS#7 structure. Demonstrates how to verify the signature and recover the original data.
Dim fso, outFile Set fso = CreateObject("Scripting.FileSystemObject") Set outFile = fso.CreateTextFile("output.txt", True) set crypt = CreateObject("Chilkat.Crypt2") ' Any string argument automatically begins the 30-day trial. success = crypt.UnlockComponent("30-day trial") If (success <> 1) Then MsgBox "Crypt component unlock failed" WScript.Quit End If set cert = CreateObject("Chilkat.Cert") success = cert.LoadByCommonName("Chilkat Software") If (success <> 1) Then MsgBox cert.LastErrorText WScript.Quit End If ' Make sure this certificate has a private key available: bHasPrivateKey = cert.HasPrivateKey() If (bHasPrivateKey <> 1) Then MsgBox "No private key available for signing." WScript.Quit End If ' Tell the encryption component to use this cert. crypt.SetSigningCert cert strData = "This is the data to be signed." ' Indicate that the PKCS7 signature should be returned ' as a base64 encoded string: crypt.EncodingMode = "base64" ' The EncodingMode may be set to other values such as ' "hex", "url", "quoted-printable", etc. strSignatureWithData = crypt.OpaqueSignStringENC(strData) outFile.WriteLine(strSignatureWithData) ' Now verify the signature against the original data. ' Tell the component what certificate to use for verification. crypt.SetVerifyCert cert originalData = crypt.OpaqueVerifyStringENC(strSignatureWithData) If (originalData = vbNullString ) Then ' The signature verification failed. MsgBox crypt.LastErrorText Else outFile.WriteLine(originalData) MsgBox "Signature verified!" End If outFile.Close |
Need a specific example? Send a request to support@chilkatsoft.com
© 2003-2007 Chilkat Software, Inc. All Rights Reserved.