Sample code for 30+ languages & platforms
Tcl

Export a Public Key as PEM

Demonstrates the Chilkat PublicKey.GetPem method, which returns the public key in PEM format. The only argument selects the underlying DER representation: true prefers the traditional PKCS #1 form (RSA), false uses the SubjectPublicKeyInfo form.

Note: The file paths are relative to the application's current working directory. Absolute paths may also be used. Supply the paths appropriate to your own environment.

Background: PEM is the most portable way to share a public key — the Base64 text block most tooling reads. The boolean picks the encoding: false produces the modern, algorithm-independent PUBLIC KEY (SubjectPublicKeyInfo), which is the usual choice; true produces the older RSA-specific RSA PUBLIC KEY for tools that require it. A public key is not sensitive, so the PEM can be distributed openly.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

#  Load a public key to export.  LoadFromFile inspects the content, so it accepts DER, PEM, XML,
#  JWK, and other supported representations.
set pubKey [new_CkPublicKey]

set success [CkPublicKey_LoadFromFile $pubKey "qa_data/public.pem"]
if {$success == 0} then {
    puts [CkPublicKey_lastErrorText $pubKey]
    delete_CkPublicKey $pubKey
    exit
}

#  Export the public key in PEM format.  The argument selects the underlying DER representation:
#  1 prefers the traditional PKCS #1 form (RSA), 0 uses the SubjectPublicKeyInfo form.
set preferPkcs1 0
set pem [CkPublicKey_getPem $pubKey $preferPkcs1]
if {[CkPublicKey_get_LastMethodSuccess $pubKey] == 0} then {
    puts [CkPublicKey_lastErrorText $pubKey]
    delete_CkPublicKey $pubKey
    exit
}

puts "$pem"

delete_CkPublicKey $pubKey