Sample code for 30+ languages & platforms
Xbase++ Requires Chilkat v11.0.0+

RSA Decrypt using PEM

See more RSA Examples

This example demonstrates decryping RSA encrypted data that is base64 encoded. It uses a private key loaded from a PEM file.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oRsa
LOCAL oKey
LOCAL cEncryptedStr
LOCAL nUsePrivateKey
LOCAL cDecryptedStr

nSuccess := 0

//  This example assumes the Chilkat API to have been previously unlocked.
//  See Global Unlock Sample for sample code.

oRsa := CreateObject("Chilkat.Rsa")

oKey := CreateObject("Chilkat.PrivateKey")

//  Load an RSA private key from an unencrypted PEM file:
//  (To load from an encrypted PEM file, call LoadEncryptedPemFile instead.)

nSuccess := oKey:LoadPemFile("qa_data/rsa/decryptTest/priv.pem")
IF (nSuccess == 0)
    ? oKey:LastErrorText
    oRsa:destroy()
    oKey:destroy()
    RETURN
ENDIF

//  Make the key available to the RSA object
nSuccess := oRsa:UsePrivateKey(oKey)
IF (nSuccess == 0)
    ? oRsa:LastErrorText
    oRsa:destroy()
    oKey:destroy()
    RETURN
ENDIF

cEncryptedStr := "pP9XFJEsGgxPNHEgNiLB5H5ksCOXDk/G49BPTog1jKLAhYofV4UTH5k2TOYiqRnDnKs8+8uPoN/IxdiGXvuYG8HRzN0HtkhoZO/AxeyaB9S7eddCUlT0Pl2PEB2yQ9HG5rM7jqYOD6MAM4cuX7hqT8fa8tbzJzmBwdfFDBz94bwQjULHiO+gklIBC4vhkXT4yjuvEjxTAKU6tJeZYkBooJNdS/vE5RZRpuF6bGZU41Qc17qFR+iReBq+9f8IMmw8WR8fMbOCaygOfFS1nw7JVsIMGsAIXS8rUaJ/2DfGPfQx5HCiVtTOreGYRUI3esAQjnvUCnavZyQgs53nl7e2aA=="

oRsa:EncodingMode := "base64"

nUsePrivateKey := 1
cDecryptedStr := oRsa:DecryptStringENC(cEncryptedStr, nUsePrivateKey)

? "Decrypted:"
? cDecryptedStr

oRsa:destroy()
oKey:destroy()