Tcl
Tcl
Iterate Keys and Certs in PEM
See more PEM Examples
Demonstrates how to access each of the private keys and certs contained within a PEM.Chilkat Tcl Downloads
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 pem [new_CkPem]
# Load the PEM from a file.
# If the PEM is encrypted, provide a password. Otherwise pass an empty string for the password.
set password "myPassword"
set success [CkPem_LoadPemFile $pem "../myPemFiles/myPem.pem" $password]
if {$success == 0} then {
puts [CkPem_lastErrorText $pem]
delete_CkPem $pem
exit
}
# Note: If the app already has the PEM pre-loaded in a string variable, then load it
# by calling LoadPem instead.
set pemContent "... the PEM contents ..."
set success [CkPem_LoadPem $pem $pemContent $password]
# Check for success as before..
# Iterate over the private keys.
set numPrivateKeys [CkPem_get_NumPrivateKeys $pem]
set i 0
set privKey [new_CkPrivateKey]
while {$i < $numPrivateKeys} {
CkPem_PrivateKeyAt $pem $i $privKey
puts "Private Key $i is [CkPrivateKey_get_BitLength $privKey] in length"
set i [expr $i + 1]
}
# Iterate over the certificates.
set cert [new_CkCert]
set numCerts [CkPem_get_NumCerts $pem]
set i 0
while {$i < $numCerts} {
CkPem_CertAt $pem $i $cert
puts "Certificate $i : [CkCert_subjectDN $cert]"
set i [expr $i + 1]
}
delete_CkPem $pem
delete_CkPrivateKey $privKey
delete_CkCert $cert