CkPython
CkPython
Backup Windows Current User / Personal Certificates to a .zip
See more Certificates Examples
Demonstrates how to backup the certificates in the Windows registry-based Current User certificate store (in the "Personal" Logical Store as seen in certmgr.msc), to a zip archive. Certificates having an exportable private key are exported to .pfx files. Certificates with no private key, or with a non-exportable private key, are exported to .cer files.Obviously, this example only runs on Windows computers.
Chilkat CkPython Downloads
import sys
import chilkat
success = False
certStore = chilkat.CkCertStore()
readOnly = True
success = certStore.OpenCurrentUserStore(readOnly)
if (not success):
print(certStore.lastErrorText())
sys.exit()
pfxPassword = "secret"
allSuccess = True
numSuccess = 0
zip = chilkat.CkZip()
zip.NewZip("qa_output/personalCerts.zip")
certData = chilkat.CkBinData()
sbFilename = chilkat.CkStringBuilder()
# Iterate over the certificates in the Current User store.
cert = chilkat.CkCert()
numCerts = certStore.get_NumCertificates()
i = 0
while i < numCerts :
certStore.GetCert(i,cert)
print("DN = " + cert.subjectDN())
sbFilename.SetString("cert")
sbFilename.AppendInt(i + 1)
bHasPrivateKey = cert.HasPrivateKey()
if ((bHasPrivateKey == True) and (cert.get_PrivateKeyExportable() == True)):
# Export to a .pfx
success = cert.ExportToPfxBd(pfxPassword,True,certData)
if (success == True):
sbFilename.Append(".pfx")
zip.AddBd(sbFilename.getAsString(),certData)
else:
# Export to a .cer
success = cert.ExportCertDerBd(certData)
if (success == True):
sbFilename.Append(".cer")
zip.AddBd(sbFilename.getAsString(),certData)
if (success != True):
allSuccess = False
else:
numSuccess = numSuccess + 1
i = i + 1
if (numSuccess > 0):
success = zip.WriteZipAndClose()
if (success != True):
print(zip.lastErrorText())
allSuccess = False
print("All success = " + str(allSuccess))