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 success As Boolean Dim certStore As New Chilkat.CertStore() ' Load the PFX file into a certificate store object Dim password As String password = "myPassword" success = certStore.LoadPfxFile("chilkat.pfx",password) If (success <> true) Then MsgBox(certStore.LastErrorText) Exit Sub End If Dim i As Long Dim numCerts As Long numCerts = certStore.NumCertificates Dim cert As Chilkat.Cert Dim fname As String For i = 0 To numCerts - 1 cert = certStore.GetCertificate(i) TextBox1.Text = TextBox1.Text & cert.SubjectDN & vbCrLf TextBox1.Refresh() TextBox1.Text = TextBox1.Text & "---" & vbCrLf TextBox1.Refresh() ' 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() = true) Then ' Get the private key. Dim pvkey As Chilkat.PrivateKey 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: Dim pubkey As Chilkat.PublicKey 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. |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.