Sample code for 30+ languages & platforms
Visual FoxPro

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 Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loPem
LOCAL lnNumCrls
LOCAL i
LOCAL loAsn
LOCAL loXml
LOCAL lcCrlBase64

lnSuccess = 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.
loPem = CreateObject('Chilkat.Pem')

loPem.VerboseLogging = 1
lnSuccess = loPem.LoadPemFile("qa_data/crl/sampleCrl.pem","password_not_used")
IF (lnSuccess <> 1) THEN
    ? loPem.LastErrorText
    RELEASE loPem
    CANCEL
ENDIF

lnNumCrls = loPem.NumCrls
i = 0

loAsn = CreateObject('Chilkat.Asn')
loXml = CreateObject('Chilkat.Xml')
DO WHILE i < lnNumCrls

    * Get the CRL as base64 (multi-line)
    lcCrlBase64 = loPem.GetEncodedItem("crl","","base64_mime",i)
    IF (loPem.LastMethodSuccess <> 1) THEN
        ? loPem.LastErrorText
        RELEASE loPem
        RELEASE loAsn
        RELEASE loXml
        CANCEL
    ENDIF

    ? lcCrlBase64

    lnSuccess = loAsn.LoadEncoded(lcCrlBase64,"base64")
    IF (lnSuccess <> 1) THEN
        ? loAsn.LastErrorText
        RELEASE loPem
        RELEASE loAsn
        RELEASE loXml
        CANCEL
    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