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.
use chilkat; $certStore = new chilkat::CkCertStore(); # Load the PFX file into a certificate store object $password = "myPassword"; $success = $certStore->LoadPfxFile("chilkat.pfx",$password); if ($success != 1) { print $certStore->lastErrorText() . "\n"; exit; } $numCerts = $certStore->get_NumCertificates(); for ($i = 0; $i <= $numCerts - 1; $i++) { $cert = $certStore->GetCertificate($i); print $cert->subjectDN() . "\r\n"; print "---" . "\r\n"; # Save the cert in DER format: $fname = "cert" . $i . ".der"; $cert->ExportCertDerFile($fname); # Save the cert in PEM format: $fname = "cert" . $i . ".pem"; $cert->ExportCertPemFile($fname); # Does this cert have a private key? if ($cert->HasPrivateKey() == 1) { # Get the private key. $pvkey = $cert->ExportPrivateKey(); # Save the private key to a PKCS8 DER-encoded file $fname = "pvkey" . $i . "_pkcs8.der"; $pvkey->SavePkcs8File($fname); # Save the private key to a PKCS8 PEM-encoded file $fname = "pvkey" . $i . "_pkcs8.pem"; $pvkey->SavePkcs8PemFile($fname); # Save the private key to a RSA DER-encoded file $fname = "pvkey" . $i . "_rsa.der"; $pvkey->SaveRsaDerFile($fname); # Save the private key to a RSA PEM-encoded file $fname = "pvkey" . $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" . $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" . $i . "_openSsl.der"; $pubkey->SaveOpenSslDerFile($fname); # Save to an OpenSSL PEM format file: $fname = "pubkey" . $i . "_openSsl.pem"; $pubkey->SaveOpenSslPemFile($fname); # Save to an RSA DER format file: $fname = "pubkey" . $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" . $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.