Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
PFX to PEM (Certificate and Private Key Files)Export a certificate and private key from a PFX to a pair of PEM files.
// Needs #include <CkCertStore.h> // Needs #include <CkCert.h> // Needs #include <CkPrivateKey.h> CkString strOut; bool success; CkCertStore certStore; // Load the PFX file into a certificate store object const char * password; password = "myPassword"; success = certStore.LoadPfxFile("chilkat.pfx",password); if (success != true) { strOut.append(certStore.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Find the cert to be exported by the subject: CkCert *cert = 0; cert = certStore.FindCertBySubject("Chilkat Software, Inc."); if (cert == 0 ) { strOut.append("Certificate not found.\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Does this cert have a private key? if (cert->HasPrivateKey() == true) { // Get the private key. CkPrivateKey *pvkey = 0; pvkey = cert->ExportPrivateKey(); // Export the private key to a PEM file: success = pvkey->SaveRsaPemFile("chilkat_pkey.pem"); if (success != true) { strOut.append(pvkey->lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } delete pvkey; } // Save the cert to a PEM file: success = cert->ExportCertPemFile("chilkat_cert.pem"); if (success != true) { strOut.append(cert->lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } delete cert; SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.