Sample code for 30+ languages & platforms
Xojo Plugin

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 Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

//  Load a private key to export.
Dim privKey As New Chilkat.PrivateKey
success = privKey.LoadPemFile("qa_data/private.pem")
If (success = False) Then
    System.DebugLog(privKey.LastErrorText)
    Return
End If

//  The key password is not hard-coded in a real application; obtain it from an interactive
//  prompt, environment variable, or a secrets vault.
Dim password As String
password = "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.
Dim encoded As String
encoded = privKey.GetPkcs8EncryptedENC("base64",password)
If (privKey.LastMethodSuccess = False) Then
    System.DebugLog(privKey.LastErrorText)
    Return
End If

System.DebugLog(encoded)