Sample code for 30+ languages & platforms
DataFlex

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 DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoPem
    Integer i
    Integer iNumPublicKeys
    String sTemp1

    Move False To iSuccess

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

    Move False To iSuccess

    Get Create (RefClass(cComChilkatPem)) To hoPem
    If (Not(IsComObjectCreated(hoPem))) Begin
        Send CreateComObject of hoPem
    End

    // Load a public key from a PEM file.
    // (Assume the PEM contains at least one public key..)
    Get ComLoadPemFile Of hoPem "/Users/chilkat/testData/pem/myPublicKey.pem" To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoPem To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get ComNumPublicKeys Of hoPem To iNumPublicKeys
    If (iNumPublicKeys = 0) Begin
        Showln (("Error: Expected the PEM to contain public keys."))
        Procedure_Return
    End

    // Get each public key as PEM, first in PKCS1 format, then in PKCS8.
    For i From 1 To iNumPublicKeys

        // First output to PKCS1 PEM format:
        Showln "This is PKCS1 format:"
        Set ComPublicKeyFormat Of hoPem To "pkcs1"
        Get ComToPem Of hoPem To sTemp1
        Showln sTemp1

        // Now PKCS8 PEM format:
        Showln "This is PKCS8 format:"
        Set ComPublicKeyFormat Of hoPem To "pkcs8"
        Get ComToPem Of hoPem To sTemp1
        Showln sTemp1

    Loop



End_Procedure