Sample code for 30+ languages & platforms
Lianja

Export Digital Certificate's Public Key

See more Certificates Examples

The ExportPublicKey method can be called to get a certificate's public key. It can then be saved to any of a number of formats: (1) OpenSSL DER, (2) OpenSSL PEM, (3) RSA DER, (4) XML.

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

loCert = createobject("CkCert")

// LoadFromFile will load virtually any certificate format file.
// It will auto-recognize the format and load appropiately.
llSuccess = loCert.LoadFromFile("/Users/chilkat/testData/cer/chilkat.cer")
if (llSuccess = .F.) then
    ? loCert.LastErrorText
    release loCert
    return
endif

// Get the public key:
loPubkey = createobject("CkPublicKey")
loCert.GetPublicKey(loPubkey)

// Save to various formats:
llSuccess = loPubkey.SaveDerFile(.F.,"/Users/chilkat/testData/pubkeys/chilkat_pkcs8.der")
if (llSuccess <> .T.) then
    ? loPubkey.LastErrorText
    release loCert
    release loPubkey
    return
endif

llSuccess = loPubkey.SavePemFile(.F.,"/Users/chilkat/testData/pubkeys/chilkat.pem")
if (llSuccess <> .T.) then
    ? loPubkey.LastErrorText
    release loCert
    release loPubkey
    return
endif

llSuccess = loPubkey.SaveDerFile(.T.,"/Users/chilkat/testData/pubkeys/chilkat_pkcs1.der")
if (llSuccess <> .T.) then
    ? loPubkey.LastErrorText
    release loCert
    release loPubkey
    return
endif

llSuccess = loPubkey.SaveXmlFile("/Users/chilkat/testData/pubkeys/chilkat.xml")
if (llSuccess <> .T.) then
    ? loPubkey.LastErrorText
    release loCert
    release loPubkey
    return
endif

? "Public key exported to all file formats."


release loCert
release loPubkey