Sample code for 30+ languages & platforms
Lianja

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

Lianja
llSuccess = .F.

// 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.
loPem = createobject("CkPem")

loPem.VerboseLogging = .T.
llSuccess = loPem.LoadPemFile("qa_data/crl/sampleCrl.pem","password_not_used")
if (llSuccess <> .T.) then
    ? loPem.LastErrorText
    release loPem
    return
endif

lnNumCrls = loPem.NumCrls
i = 0

loAsn = createobject("CkAsn")
loXml = createobject("CkXml")
do while i < lnNumCrls

    // Get the CRL as base64 (multi-line)
    lcCrlBase64 = loPem.GetEncodedItem("crl","","base64_mime",i)
    if (loPem.LastMethodSuccess <> .T.) then
        ? loPem.LastErrorText
        release loPem
        release loAsn
        release loXml
        return
    endif

    ? lcCrlBase64

    llSuccess = loAsn.LoadEncoded(lcCrlBase64,"base64")
    if (llSuccess <> .T.) then
        ? loAsn.LastErrorText
        release loPem
        release loAsn
        release loXml
        return
    endif

    // Convert ASN.1 to XML and load into xml and re-emit for pretty printing..
    loXml.LoadXml(loAsn.AsnToXml())
    ? loXml.GetXml()

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

    ? "-------------------------------------"
    i = i + 1
enddo


release loPem
release loAsn
release loXml