Sample code for 30+ languages & platforms
Xbase++

Write PKCS1 or PKCS8 Public Key PEM

See more PEM Examples

Demonstrates how to write either PKCS1 or PKCS8 format PEM files. PKCS1 public keys have this PEM format:
-----BEGIN RSA PUBLIC KEY-----
BASE64 ENCODED DATA
-----END RSA PUBLIC KEY-----
PKCS8 public keys have this PEM format:
-----BEGIN PUBLIC KEY-----
BASE64 ENCODED DATA
-----END PUBLIC KEY-----

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oPem
LOCAL i
LOCAL nNumPublicKeys

nSuccess := 0

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

nSuccess := 0

oPem := CreateObject("Chilkat.Pem")

//  Load a public key from a PEM file.
//  (Assume the PEM contains at least one public key..)
nSuccess := oPem:LoadPemFile("/Users/chilkat/testData/pem/myPublicKey.pem")
IF (nSuccess != 1)
    ? oPem:LastErrorText
    oPem:destroy()
    RETURN
ENDIF

nNumPublicKeys := oPem:NumPublicKeys
IF (nNumPublicKeys == 0)
    ? ("Error: Expected the PEM to contain public keys.")
    oPem:destroy()
    RETURN
ENDIF

//  Get each public key as PEM, first in PKCS1 format, then in PKCS8.
FOR i := 1 TO nNumPublicKeys

    //  First output to PKCS1 PEM format:
    ? "This is PKCS1 format:"
    oPem:PublicKeyFormat := "pkcs1"
    ? oPem:ToPem()

    //  Now PKCS8 PEM format:
    ? "This is PKCS8 format:"
    oPem:PublicKeyFormat := "pkcs8"
    ? oPem:ToPem()

NEXT

oPem:destroy()