Python Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Python Examples

Quick Start
Python Unicode
Python Byte Array
Python Certs
Python Email
Python Encryption
Python FTP
HTML-to-XML
Python HTTP
Python IMAP
Python MHT
Python MIME
Python RSA
Python S/MIME
Python Signatures
Python Socket
Python Spider
Python Tar
Python Upload
Python XML
Python XMP
Python Zip

More Examples...
String
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
SSH Key
SSH
SSH Tunnel
SFTP

Unreleased...
Bzip2
LZW
Bz2
Icon

 

 

 

 

 

 

 

Create .p7s Signature with HSM / Smartcard

Python 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.

Download Chilkat Python Library

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()

#  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.
ccs = chilkat.CkCreateCS()

certStore = ccs.OpenCurrentUserStore()

cert = certStore.FindCertBySubjectCN("Chilkat Software, Inc.")
if (cert == None ):
    print cert.lastErrorText()

    sys.exit()

#  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:
csp = chilkat.CkCSP()
csp.put_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):
    print crypt.lastErrorText()

    sys.exit()

print crypt.lastErrorText()
#  Verify the signature...
crypt.SetVerifyCert(cert)

success = crypt.VerifyP7S("test.xml","test.p7s")
if (success == False):
    print crypt.lastErrorText()

    sys.exit()

print "Success!"
 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2008 Chilkat Software, Inc. All Rights Reserved.