Visual FoxPro
Visual FoxPro
Export an Encrypted PKCS #8 Private Key as Encoded Text
See more Private Key Examples
Demonstrates the Chilkat PrivateKey.GetPkcs8EncryptedENC method, which exports the key as password-protected PKCS #8 DER and encodes the encrypted DER as text. The first argument names the binary encoding and the second is the password. The cipher is selected by Pkcs8EncryptAlg.
Note: The file paths are relative to the application's current working directory. Absolute paths may also be used. Supply the paths appropriate to your own environment.
Background: This combines encryption with text encoding: the key is protected by a passphrase and returned as a string, ideal for storing an encrypted key in a text-only medium such as JSON or an environment variable. It is the encrypted counterpart to
GetPkcs8ENC. Source the password securely.Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loPrivKey
LOCAL lcPassword
LOCAL lcEncoded
lnSuccess = 0
* Load a private key to export.
loPrivKey = CreateObject('Chilkat.PrivateKey')
lnSuccess = loPrivKey.LoadPemFile("qa_data/private.pem")
IF (lnSuccess = 0) THEN
? loPrivKey.LastErrorText
RELEASE loPrivKey
CANCEL
ENDIF
* The key password is not hard-coded in a real application; obtain it from an interactive
* prompt, environment variable, or a secrets vault.
lcPassword = "myKeyPassword"
* Export as password-protected PKCS #8 DER, then encode the encrypted DER as text. The 1st
* argument names the binary encoding and the 2nd is the password. The cipher is selected by the
* Pkcs8EncryptAlg property.
lcEncoded = loPrivKey.GetPkcs8EncryptedENC("base64",lcPassword)
IF (loPrivKey.LastMethodSuccess = 0) THEN
? loPrivKey.LastErrorText
RELEASE loPrivKey
CANCEL
ENDIF
? lcEncoded
RELEASE loPrivKey