Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) Export a Certificate's Private Key to Various FormatsLoads a digital certificate and private key from a PFX file (also known as PKCS#12) and exports the private key to various formats: (1) PKCS8 Encrypted, (2) PKCS8 Encrypted PEM, (3) PKCS8 unencrypted, (4) PKCS8 PEM unencrypted, (5) RSA DER unencrypted, (6) RSA PEM unencrypted, (7) XML.
Use ChilkatAx-win32.pkg Procedure Test Handle hoCert String sPfxFilename String sPfxPassword Boolean iSuccess Variant vPrivKey Handle hoPrivKey String sPassword String sPath String sTemp1 Boolean bTemp1 Get Create (RefClass(cComChilkatCert)) To hoCert If (Not(IsComObjectCreated(hoCert))) Begin Send CreateComObject of hoCert End // Load from the PFX file Move "/Users/chilkat/testData/pfx/chilkat_ssl_pwd_is_test.pfx" To sPfxFilename Move "test" To sPfxPassword // A PFX typically contains certificates in the chain of authentication. // The Chilkat cert object will choose the certificate w/ // private key farthest from the root authority cert. // To access all the certificates in a PFX, use the // Chilkat certificate store object instead. Get ComLoadPfxFile Of hoCert sPfxFilename sPfxPassword To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoCert To sTemp1 Showln sTemp1 Procedure_Return End // Get the private key... Get ComExportPrivateKey Of hoCert To vPrivKey If (IsComObject(vPrivKey)) Begin Get Create (RefClass(cComChilkatPrivateKey)) To hoPrivKey Set pvComObject Of hoPrivKey To vPrivKey End Get ComLastMethodSuccess Of hoCert To bTemp1 If (bTemp1 = False) Begin Get ComLastErrorText Of hoCert To sTemp1 Showln sTemp1 Procedure_Return End // Export to various formats: Move "secret" To sPassword // PKCS8 Encrypted DER Move "/Users/chilkat/testData/privkeys/chilkat_pkcs8_enc.der" To sPath Get ComSavePkcs8EncryptedFile Of hoPrivKey sPassword sPath To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoPrivKey To sTemp1 Showln sTemp1 Send Destroy of hoPrivKey Procedure_Return End // PKCS8 Encrypted PEM Move "/Users/chilkat/testData/privkeys/chilkat_pkcs8_enc.pem" To sPath Get ComSavePkcs8EncryptedPemFile Of hoPrivKey sPassword sPath To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoPrivKey To sTemp1 Showln sTemp1 Send Destroy of hoPrivKey Procedure_Return End // PKCS8 Unencrypted DER Move "/Users/chilkat/testData/privkeys/chilkat_pkcs8.der" To sPath Get ComSavePkcs8File Of hoPrivKey sPath To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoPrivKey To sTemp1 Showln sTemp1 Send Destroy of hoPrivKey Procedure_Return End // PKCS8 Unencrypted PEM Move "/Users/chilkat/testData/privkeys/chilkat_pkcs8.pem" To sPath Get ComSavePkcs8PemFile Of hoPrivKey sPath To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoPrivKey To sTemp1 Showln sTemp1 Send Destroy of hoPrivKey Procedure_Return End // RSA DER (unencrypted) Move "/Users/chilkat/testData/privkeys/chilkat_rsa.der" To sPath Get ComSavePkcs1File Of hoPrivKey sPath To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoPrivKey To sTemp1 Showln sTemp1 Send Destroy of hoPrivKey Procedure_Return End // RSA PEM (unencrypted) Move "/Users/chilkat/testData/privkeys/chilkat_rsa.pem" To sPath Get ComSavePemFile Of hoPrivKey sPath To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoPrivKey To sTemp1 Showln sTemp1 Send Destroy of hoPrivKey Procedure_Return End // XML (unencrypted) Move "/Users/chilkat/testData/privkeys/chilkat.xml" To sPath Get ComSaveXmlFile Of hoPrivKey sPath To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoPrivKey To sTemp1 Showln sTemp1 Send Destroy of hoPrivKey Procedure_Return End Send Destroy of hoPrivKey Showln "Private key exported to all formats." End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.