Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
Export certificates and public/private keys from a PFXDemonstrates how to export certificates and public/private keys from a PFX file.
import sys import chilkat certStore = chilkat.CkCertStore() # Load the PFX file into a certificate store object password = "myPassword" success = certStore.LoadPfxFile("chilkat.pfx",password) if (success != True): print certStore.lastErrorText() sys.exit() numCerts = certStore.get_NumCertificates() for i in range(0,numCerts): cert = certStore.GetCertificate(i) print cert.subjectDN() print "---" # Save the cert in DER format: fname = "cert" + str(i) + ".der" cert.ExportCertDerFile(fname) # Save the cert in PEM format: fname = "cert" + str(i) + ".pem" cert.ExportCertPemFile(fname) # Does this cert have a private key? if (cert.HasPrivateKey() == True): # Get the private key. pvkey = cert.ExportPrivateKey() # Save the private key to a PKCS8 DER-encoded file fname = "pvkey" + str(i) + "_pkcs8.der" pvkey.SavePkcs8File(fname) # Save the private key to a PKCS8 PEM-encoded file fname = "pvkey" + str(i) + "_pkcs8.pem" pvkey.SavePkcs8PemFile(fname) # Save the private key to a RSA DER-encoded file fname = "pvkey" + str(i) + "_rsa.der" pvkey.SaveRsaDerFile(fname) # Save the private key to a RSA PEM-encoded file fname = "pvkey" + str(i) + "_rsa.pem" pvkey.SaveRsaPemFile(fname) # Save the private key to an XML file # This format is Chilkat-specific, but easily parsed, # making it easy to get the modulus, exponent, # P, Q, DP, DQ, InverseQ, and D. fname = "pvkey" + str(i) + ".xml" pvkey.SaveXmlFile(fname) # Now get the public key and save it to various file formats: pubkey = cert.ExportPublicKey() # Save to an OpenSSL DER format file: fname = "pubkey" + str(i) + "_openSsl.der" pubkey.SaveOpenSslDerFile(fname) # Save to an OpenSSL PEM format file: fname = "pubkey" + str(i) + "_openSsl.pem" pubkey.SaveOpenSslPemFile(fname) # Save to an RSA DER format file: fname = "pubkey" + str(i) + "_rsa.der" pubkey.SaveRsaDerFile(fname) # Save to an XML file: # This format is Chilkat-specific, but easily parsed, # making it easy to get the modulus and exponent. fname = "pubkey" + str(i) + ".xml" pubkey.SaveXmlFile(fname) # The Chilkat Certificate, Certificate Store, Private Key, # Public Key, and Key Container classes / objects are freeware. # They are used by and included with the Chilkat Email, # Crypt, S/MIME, and other commercial Chilkat components. |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.