Sample code for 30+ languages & platforms
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

Tcl

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