Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) Convert CRL PEM to XMLLoads 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.
IncludeFile "CkXml.pb" IncludeFile "CkAsn.pb" IncludeFile "CkPem.pb" Procedure ChilkatExample() ; 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.i = CkPem::ckCreate() If pem.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkPem::setCkVerboseLogging(pem, 1) success.i = CkPem::ckLoadPemFile(pem,"qa_data/crl/sampleCrl.pem","password_not_used") If success <> 1 Debug CkPem::ckLastErrorText(pem) CkPem::ckDispose(pem) ProcedureReturn EndIf numCrls.i = CkPem::ckNumCrls(pem) i.i = 0 asn.i = CkAsn::ckCreate() If asn.i = 0 Debug "Failed to create object." ProcedureReturn EndIf xml.i = CkXml::ckCreate() If xml.i = 0 Debug "Failed to create object." ProcedureReturn EndIf While i < numCrls ; Get the CRL as base64 (multi-line) crlBase64.s = CkPem::ckGetEncodedItem(pem,"crl","","base64_mime",i) If CkPem::ckLastMethodSuccess(pem) <> 1 Debug CkPem::ckLastErrorText(pem) CkPem::ckDispose(pem) CkAsn::ckDispose(asn) CkXml::ckDispose(xml) ProcedureReturn EndIf Debug crlBase64 success = CkAsn::ckLoadEncoded(asn,crlBase64,"base64") If success <> 1 Debug CkAsn::ckLastErrorText(asn) CkPem::ckDispose(pem) CkAsn::ckDispose(asn) CkXml::ckDispose(xml) ProcedureReturn EndIf ; Convert ASN.1 to XML and load into xml and re-emit for pretty printing.. CkXml::ckLoadXml(xml,CkAsn::ckAsnToXml(asn)) Debug CkXml::ckGetXml(xml) ; Use this online tool to generate parsing code from CRL XML: ; Generate Parsing Code from XML Debug "-------------------------------------" i = i + 1 Wend CkPem::ckDispose(pem) CkAsn::ckDispose(asn) CkXml::ckDispose(xml) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.