Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
Create PFX from PEM (Certificate and Private Key Files)Create a PFX file from a pair of PEM files (the certificate PEM and private key PEM).
// Needs #include <CkCert.h> // Needs #include <CkPrivateKey.h> // Needs #include <CkKeyContainer.h> CkString strOut; bool success; CkCert cert; success = cert.LoadFromFile("chilkat_cert.pem"); if (success != true) { strOut.append(cert.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } CkPrivateKey privkey; success = privkey.LoadPemFile("chilkat_pkey.pem"); if (success != true) { strOut.append(privkey.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Link the cert to the private key. // Use the current logged-on user's protected key store: bool bMachineKeyset; bMachineKeyset = false; // If the private key is to be used for creating signatures, // set bForSigning = true. If the private key is to be // used for decrypting, set bForSigning = false bool bForSigning; bForSigning = true; // Select an arbitrary key container name that is unique // to your application. Make sure it exists: CkKeyContainer keyCont; // The CreateContainer method will create the key container // if it does not already exist, otherwise it will open it. // (The key container is in the Windows protected store.) success = keyCont.CreateContainer("myApp",bMachineKeyset); if (success != true) { strOut.append(keyCont.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } success = cert.LinkPrivateKey("myApp",bMachineKeyset,bForSigning); if (success != true) { strOut.append(cert.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Now export to a PFX: bool bIncludeCertsInChain; bIncludeCertsInChain = false; success = cert.ExportToPfxFile("chilkat2.pfx","myPassword",bIncludeCertsInChain); if (success != true) { strOut.append(cert.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } strOut.append("PFX created!\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.