Tcl
Tcl
Convert CRL PEM to XML
See more PEM Examples
Loads a CRL (Certificate Revocation List) from the PEM file format and converts to XML to allow for visual examination and parsing.Note: This example requires Chilkat v9.5.0.77 or greater.
Chilkat Tcl Downloads
load ./chilkat.dll
set success 0
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
# This example requires Chilkat v9.5.0.77 or greater.
set pem [new_CkPem]
CkPem_put_VerboseLogging $pem 1
set success [CkPem_LoadPemFile $pem "qa_data/crl/sampleCrl.pem" "password_not_used"]
if {$success != 1} then {
puts [CkPem_lastErrorText $pem]
delete_CkPem $pem
exit
}
set numCrls [CkPem_get_NumCrls $pem]
set i 0
set asn [new_CkAsn]
set xml [new_CkXml]
while {$i < $numCrls} {
# Get the CRL as base64 (multi-line)
set crlBase64 [CkPem_getEncodedItem $pem "crl" "" "base64_mime" $i]
if {[CkPem_get_LastMethodSuccess $pem] != 1} then {
puts [CkPem_lastErrorText $pem]
delete_CkPem $pem
delete_CkAsn $asn
delete_CkXml $xml
exit
}
puts "$crlBase64"
set success [CkAsn_LoadEncoded $asn $crlBase64 "base64"]
if {$success != 1} then {
puts [CkAsn_lastErrorText $asn]
delete_CkPem $pem
delete_CkAsn $asn
delete_CkXml $xml
exit
}
# Convert ASN.1 to XML and load into xml and re-emit for pretty printing..
CkXml_LoadXml $xml [CkAsn_asnToXml $asn]
puts [CkXml_getXml $xml]
# Use this online tool to generate parsing code from CRL XML:
# Generate Parsing Code from XML
puts "-------------------------------------"
set i [expr $i + 1]
}
delete_CkPem $pem
delete_CkAsn $asn
delete_CkXml $xml