Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(MFC) Convert PEM to JKS (Java KeyStore)Converts a PEM containing private key(s) and certificates into a JKS (Java KeyStore) formatted file.
#include <CkPem.h> #include <CkJavaKeyStore.h> void ChilkatSample(void) { CkString strOut; // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // The Chilkat PEM class was introduced in v9.5.0.49. // It requires the bundle to be unlocked, as shown above. CkPem pem; // Load the PEM from a file. // If the PEM is encrypted, provide a password. Otherwise pass an empty string for the password. const char *password = "myPassword"; bool success = pem.LoadPemFile("../myPemFiles/myPem.pem",password); if (success != true) { strOut.append(pem.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Note: If the app already has the PEM pre-loaded in a string variable, then load it // by calling LoadPem instead. const char *pemContent = "... the PEM contents ..."; success = pem.LoadPem(pemContent,password); // Check for success as before.. // Convert to a JavaKeyStore object. // The alias, if a non-empty string, will be applied to the 1st private key or // certificate. All other keys and/or certificates will be assigned an auto-generated // alias. const char *alias = "anything_I_want_here"; // This is the passord that will be required to access the created JKS. const char *jksPassword = "myJksSecret"; CkJavaKeyStore *jks = pem.ToJks(alias,jksPassword); if (pem.get_LastMethodSuccess() == false) { strOut.append(pem.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Save the JKS to a file. The password passed here is used for the keyed hash of the // entire JKS file. This may be different (if desired) than the password for individual private keys // contained within the JKS. success = jks->ToFile(jksPassword,"../myJksFiles/myJks.jks"); if (success != true) { strOut.append(jks->lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } delete jks; SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.