Sample code for 30+ languages & platforms
Perl

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 Perl Downloads

Perl
use chilkat();

$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.
$pem = chilkat::CkPem->new();

$pem->put_VerboseLogging(1);
$success = $pem->LoadPemFile("qa_data/crl/sampleCrl.pem","password_not_used");
if ($success != 1) {
    print $pem->lastErrorText() . "\r\n";
    exit;
}

$numCrls = $pem->get_NumCrls();
$i = 0;

$asn = chilkat::CkAsn->new();
$xml = chilkat::CkXml->new();
while ($i < $numCrls) {

    # Get the CRL as base64 (multi-line)
    $crlBase64 = $pem->getEncodedItem("crl","","base64_mime",$i);
    if ($pem->get_LastMethodSuccess() != 1) {
        print $pem->lastErrorText() . "\r\n";
        exit;
    }

    print $crlBase64 . "\r\n";

    $success = $asn->LoadEncoded($crlBase64,"base64");
    if ($success != 1) {
        print $asn->lastErrorText() . "\r\n";
        exit;
    }

    # Convert ASN.1 to XML and load into xml and re-emit for pretty printing..
    $xml->LoadXml($asn->asnToXml());
    print $xml->getXml() . "\r\n";

    # Use this online tool to generate parsing code from CRL XML: 
    # Generate Parsing Code from XML

    print "-------------------------------------" . "\r\n";
    $i = $i + 1;
}