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. Dim fso, outFile Set fso = CreateObject("Scripting.FileSystemObject") Set outFile = fso.CreateTextFile("output.txt", True) set certStore = CreateObject("Chilkat.CertStore") ' Load the PFX file into a certificate store object password = "myPassword" success = certStore.LoadPfxFile("chilkat.pfx",password) If (success <> 1) Then MsgBox certStore.LastErrorText WScript.Quit End If numCerts = certStore.NumCertificates For i = 0 To numCerts - 1 Set cert = certStore.GetCertificate(i) outFile.WriteLine(cert.SubjectDN) outFile.WriteLine("---") ' Save the cert in DER format: fname = "cert" & CStr(i) & ".der" cert.ExportCertDerFile fname ' Save the cert in PEM format: fname = "cert" & CStr(i) & ".pem" cert.ExportCertPemFile fname ' Does this cert have a private key? If (cert.HasPrivateKey() = 1) Then ' Get the private key. Set pvkey = cert.ExportPrivateKey() ' Save the private key to a PKCS8 DER-encoded file fname = "pvkey" & CStr(i) & "_pkcs8.der" pvkey.SavePkcs8File fname ' Save the private key to a PKCS8 PEM-encoded file fname = "pvkey" & CStr(i) & "_pkcs8.pem" pvkey.SavePkcs8PemFile fname ' Save the private key to a RSA DER-encoded file fname = "pvkey" & CStr(i) & "_rsa.der" pvkey.SaveRsaDerFile fname ' Save the private key to a RSA PEM-encoded file fname = "pvkey" & CStr(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" & CStr(i) & ".xml" pvkey.SaveXmlFile fname End If ' Now get the public key and save it to various file formats: Set pubkey = cert.ExportPublicKey() ' Save to an OpenSSL DER format file: fname = "pubkey" & CStr(i) & "_openSsl.der" pubkey.SaveOpenSslDerFile fname ' Save to an OpenSSL PEM format file: fname = "pubkey" & CStr(i) & "_openSsl.pem" pubkey.SaveOpenSslPemFile fname ' Save to an RSA DER format file: fname = "pubkey" & CStr(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" & CStr(i) & ".xml" pubkey.SaveXmlFile fname Next ' 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. outFile.Close |
Need a specific example? Send a request to support@chilkatsoft.com
© 2003-2007 Chilkat Software, Inc. All Rights Reserved.