Sample code for 30+ languages & platforms
Go

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

Go
    success := false

    // 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.NewPem()

    pem.SetVerboseLogging(true)
    success = pem.LoadPemFile("qa_data/crl/sampleCrl.pem","password_not_used")
    if success != true {
        fmt.Println(pem.LastErrorText())
        pem.DisposePem()
        return
    }

    numCrls := pem.NumCrls()
    i := 0

    asn := chilkat.NewAsn()
    xml := chilkat.NewXml()
    for i < numCrls {

        // Get the CRL as base64 (multi-line)
        crlBase64 := pem.GetEncodedItem("crl","","base64_mime",i)
        if pem.LastMethodSuccess() != true {
            fmt.Println(pem.LastErrorText())
            pem.DisposePem()
            asn.DisposeAsn()
            xml.DisposeXml()
            return
        }

        fmt.Println(*crlBase64)

        success = asn.LoadEncoded(*crlBase64,"base64")
        if success != true {
            fmt.Println(asn.LastErrorText())
            pem.DisposePem()
            asn.DisposeAsn()
            xml.DisposeXml()
            return
        }

        // Convert ASN.1 to XML and load into xml and re-emit for pretty printing..
        xml.LoadXml(*asn.AsnToXml())
        fmt.Println(*xml.GetXml())

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

        fmt.Println("-------------------------------------")
        i = i + 1
    }


    pem.DisposePem()
    asn.DisposeAsn()
    xml.DisposeXml()