Sample code for 30+ languages & platforms
Lianja

Generate an RSA Key and Get as Base64 DER

See more RSA Examples

Demonstrates how to generate a 2048-bit RSA key and return the public and private parts as unencrypted Base64 encoded DER.

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

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

loRsa = createobject("CkRsa")

// Generate a 2048-bit key.
loPrivKey = createobject("CkPrivateKey")
llSuccess = loRsa.GenKey(2048,loPrivKey)
if (llSuccess = .F.) then
    ? loRsa.LastErrorText
    release loRsa
    release loPrivKey
    return
endif

// Get the public part of the key.
loPubKey = createobject("CkPublicKey")
loPrivKey.ToPublicKey(loPubKey)

// There are two possible formats for representing the RSA public key 
// in ASN.1 (DER).  The possible formats are PKCS1 and PKCS8.
// We can get either by setting bChoosePkcs1 to .T. or .F..
llBChoosePkcs1 = .T.
lcPubKeyBase64Der = loPubKey.GetEncoded(llBChoosePkcs1,"base64")
? "Public Key Base64 DER:"
? lcPubKeyBase64Der

// Get the private key as Base64 DER:
// We can get PKCS1 or PKCS8, but with different methods:
lcPrivKeyPkcs1 = loPrivKey.GetPkcs1ENC("base64")
? "Private Key PKCS1 Base64 DER:"
? lcPrivKeyPkcs1

lcPrivKeyPkcs8 = loPrivKey.GetPkcs8ENC("base64")
? "Private Key PKCS8 Base64 DER:"
? lcPrivKeyPkcs8


release loRsa
release loPrivKey
release loPubKey