Sample code for 30+ languages & platforms
Swift

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

Swift

func chilkatTest() {
    var success: Bool = 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.
    let pem = CkoPem()!

    pem.verboseLogging = true
    success = pem.loadFile(path: "qa_data/crl/sampleCrl.pem", password: "password_not_used")
    if success != true {
        print("\(pem.lastErrorText!)")
        return
    }

    var numCrls: Int = pem.numCrls.intValue
    var i: Int = 0

    let asn = CkoAsn()!
    let xml = CkoXml()!
    while i < numCrls {

        // Get the CRL as base64 (multi-line)
        var crlBase64: String? = pem.getEncodedItem(itemType: "crl", itemSubType: "", encoding: "base64_mime", index: i)
        if pem.lastMethodSuccess != true {
            print("\(pem.lastErrorText!)")
            return
        }

        print("\(crlBase64!)")

        success = asn.loadEncoded(asnContent: crlBase64, encoding: "base64")
        if success != true {
            print("\(asn.lastErrorText!)")
            return
        }

        // Convert ASN.1 to XML and load into xml and re-emit for pretty printing..
        xml.load(xmlData: asn.asnToXml())
        print("\(xml.getXml()!)")

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

        print("-------------------------------------")
        i = i + 1
    }


}