Sample code for 30+ languages & platforms
Tcl

Load PEM Public/Private Key into RSA Object

See more RSA Examples

Demonstrates how to load a PEM key into the Chilkat RSA object.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

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

set rsa [new_CkRsa]

# First demonstrate importing a PEM public key:
set publicKeyPem "PEM public-key data goes here"
set pubkey [new_CkPublicKey]

set success [CkPublicKey_LoadFromString $pubkey $publicKeyPem]
if {$success == 0} then {
    puts [CkPublicKey_lastErrorText $pubkey]
    delete_CkRsa $rsa
    delete_CkPublicKey $pubkey
    exit
}

set success [CkRsa_UsePublicKey $rsa $pubkey]
if {$success == 0} then {
    puts [CkRsa_lastErrorText $rsa]
    delete_CkRsa $rsa
    delete_CkPublicKey $pubkey
    exit
}

# Demonstrate importing a PEM private key:
set privateKeyPem "PEM private-key data goes here"
set privkey [new_CkPrivateKey]

# If the private key PEM is protected with a password, then 
# call LoadEncryptedPem.  Otherwise call LoadPem.
set success [CkPrivateKey_LoadPem $privkey $privateKeyPem]
if {$success == 0} then {
    puts [CkPrivateKey_lastErrorText $privkey]
    delete_CkRsa $rsa
    delete_CkPublicKey $pubkey
    delete_CkPrivateKey $privkey
    exit
}

set success [CkRsa_UsePrivateKey $rsa $privkey]
if {$success == 0} then {
    puts [CkRsa_lastErrorText $rsa]
    delete_CkRsa $rsa
    delete_CkPublicKey $pubkey
    delete_CkPrivateKey $privkey
    exit
}

puts "OK!"

delete_CkRsa $rsa
delete_CkPublicKey $pubkey
delete_CkPrivateKey $privkey