Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
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.
import sys import chilkat crypt = chilkat.CkCrypt2() # Any string argument automatically begins the 30-day trial. success = crypt.UnlockComponent("30-day trial") if (success != True): print "Crypt component unlock failed" sys.exit() cert = chilkat.CkCert() success = cert.LoadByCommonName("Chilkat Software") if (success != True): print cert.lastErrorText() sys.exit() # Make sure this certificate has a private key available: bHasPrivateKey = cert.HasPrivateKey() if (bHasPrivateKey != True): print "No private key available for signing." sys.exit() # 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.put_EncodingMode("base64") # The EncodingMode may be set to other values such as # "hex", "url", "quoted-printable", etc. strSignatureWithData = crypt.opaqueSignStringENC(strData) print 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 == None ): # The signature verification failed. print crypt.lastErrorText() else: print originalData print "Signature verified!" |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.