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
(Visual FoxPro) 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.
LOCAL loCert LOCAL lcPfxFilename LOCAL lcPfxPassword LOCAL lnSuccess LOCAL loPrivKey LOCAL lcPassword LOCAL lcPath * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Cert') loCert = CreateObject('Chilkat.Cert') * Load from the PFX file lcPfxFilename = "/Users/chilkat/testData/pfx/chilkat_ssl_pwd_is_test.pfx" lcPfxPassword = "test" * 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. lnSuccess = loCert.LoadPfxFile(lcPfxFilename,lcPfxPassword) IF (lnSuccess <> 1) THEN ? loCert.LastErrorText RELEASE loCert CANCEL ENDIF * Get the private key... loPrivKey = loCert.ExportPrivateKey() IF (loCert.LastMethodSuccess = 0) THEN ? loCert.LastErrorText RELEASE loCert CANCEL ENDIF * Export to various formats: lcPassword = "secret" * PKCS8 Encrypted DER lcPath = "/Users/chilkat/testData/privkeys/chilkat_pkcs8_enc.der" lnSuccess = loPrivKey.SavePkcs8EncryptedFile(lcPassword,lcPath) IF (lnSuccess <> 1) THEN ? loPrivKey.LastErrorText RELEASE loPrivKey RELEASE loCert CANCEL ENDIF * PKCS8 Encrypted PEM lcPath = "/Users/chilkat/testData/privkeys/chilkat_pkcs8_enc.pem" lnSuccess = loPrivKey.SavePkcs8EncryptedPemFile(lcPassword,lcPath) IF (lnSuccess <> 1) THEN ? loPrivKey.LastErrorText RELEASE loPrivKey RELEASE loCert CANCEL ENDIF * PKCS8 Unencrypted DER lcPath = "/Users/chilkat/testData/privkeys/chilkat_pkcs8.der" lnSuccess = loPrivKey.SavePkcs8File(lcPath) IF (lnSuccess <> 1) THEN ? loPrivKey.LastErrorText RELEASE loPrivKey RELEASE loCert CANCEL ENDIF * PKCS8 Unencrypted PEM lcPath = "/Users/chilkat/testData/privkeys/chilkat_pkcs8.pem" lnSuccess = loPrivKey.SavePkcs8PemFile(lcPath) IF (lnSuccess <> 1) THEN ? loPrivKey.LastErrorText RELEASE loPrivKey RELEASE loCert CANCEL ENDIF * RSA DER (unencrypted) lcPath = "/Users/chilkat/testData/privkeys/chilkat_rsa.der" lnSuccess = loPrivKey.SavePkcs1File(lcPath) IF (lnSuccess <> 1) THEN ? loPrivKey.LastErrorText RELEASE loPrivKey RELEASE loCert CANCEL ENDIF * RSA PEM (unencrypted) lcPath = "/Users/chilkat/testData/privkeys/chilkat_rsa.pem" lnSuccess = loPrivKey.SavePemFile(lcPath) IF (lnSuccess <> 1) THEN ? loPrivKey.LastErrorText RELEASE loPrivKey RELEASE loCert CANCEL ENDIF * XML (unencrypted) lcPath = "/Users/chilkat/testData/privkeys/chilkat.xml" lnSuccess = loPrivKey.SaveXmlFile(lcPath) IF (lnSuccess <> 1) THEN ? loPrivKey.LastErrorText RELEASE loPrivKey RELEASE loCert CANCEL ENDIF RELEASE loPrivKey ? "Private key exported to all formats." RELEASE loCert |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.