Sample code for 30+ languages & platforms
Tcl

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

Tcl

load ./chilkat.dll

set success 0

set cert [new_CkCert]

# LoadFromFile will load virtually any certificate format file.
# It will auto-recognize the format and load appropiately.
set success [CkCert_LoadFromFile $cert "/Users/chilkat/testData/cer/chilkat.cer"]
if {$success == 0} then {
    puts [CkCert_lastErrorText $cert]
    delete_CkCert $cert
    exit
}

# Get the public key:
set pubkey [new_CkPublicKey]

CkCert_GetPublicKey $cert $pubkey

# Save to various formats:
set success [CkPublicKey_SaveDerFile $pubkey 0 "/Users/chilkat/testData/pubkeys/chilkat_pkcs8.der"]
if {$success != 1} then {
    puts [CkPublicKey_lastErrorText $pubkey]
    delete_CkCert $cert
    delete_CkPublicKey $pubkey
    exit
}

set success [CkPublicKey_SavePemFile $pubkey 0 "/Users/chilkat/testData/pubkeys/chilkat.pem"]
if {$success != 1} then {
    puts [CkPublicKey_lastErrorText $pubkey]
    delete_CkCert $cert
    delete_CkPublicKey $pubkey
    exit
}

set success [CkPublicKey_SaveDerFile $pubkey 1 "/Users/chilkat/testData/pubkeys/chilkat_pkcs1.der"]
if {$success != 1} then {
    puts [CkPublicKey_lastErrorText $pubkey]
    delete_CkCert $cert
    delete_CkPublicKey $pubkey
    exit
}

set success [CkPublicKey_SaveXmlFile $pubkey "/Users/chilkat/testData/pubkeys/chilkat.xml"]
if {$success != 1} then {
    puts [CkPublicKey_lastErrorText $pubkey]
    delete_CkCert $cert
    delete_CkPublicKey $pubkey
    exit
}

puts "Public key exported to all file formats."

delete_CkCert $cert
delete_CkPublicKey $pubkey