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
(DataFlex) Get Certificate CRL Distribution PointsDemonstrates how to get a certificate's CRL Distribution Points extension data (assuming it exists). In the vast majority of cases, there will be one CRL Distribution Point. Note: This example requires Chilkat v9.5.0.76 or greater.
Use ChilkatAx-win32.pkg Procedure Test Handle hoCert Boolean iSuccess String sExtensionXmlStr Handle hoXml Variant vSbDistPoint Handle hoSbDistPoint String sTemp1 Boolean bTemp1 Get Create (RefClass(cComChilkatCert)) To hoCert If (Not(IsComObjectCreated(hoCert))) Begin Send CreateComObject of hoCert End Get ComLoadFromFile Of hoCert "qa_data/certs/test_haswdt.cer" To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoCert To sTemp1 Showln sTemp1 Procedure_Return End // Get the CRL Distribution Points extension, which is at OID 2.5.29.31 Get ComGetExtensionAsXml Of hoCert "2.5.29.31" To sExtensionXmlStr Get ComLastMethodSuccess Of hoCert To bTemp1 If (bTemp1 = False) Begin Showln "Certificate does not have the CDP extension." Procedure_Return End Get Create (RefClass(cComChilkatXml)) To hoXml If (Not(IsComObjectCreated(hoXml))) Begin Send CreateComObject of hoXml End Get ComLoadXml Of hoXml sExtensionXmlStr To iSuccess // See what we have.. Get ComGetXml Of hoXml To sTemp1 Showln sTemp1 // We should get XML like this: // <?xml version="1.0" encoding="utf-8" ?> // <sequence> // <sequence> // <contextSpecific tag="0" constructed="1"> // <contextSpecific tag="0" constructed="1"> // <contextSpecific tag="6" constructed="0">aHR0cDovL2NybC5jb21vZG9jYS5jb20vQ09NT0RPUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1 // cmVFbWFpbENBLmNybA==</contextSpecific> // </contextSpecific> // </contextSpecific> // </sequence> // </sequence> // // Assuming there is one CRL Distribution Point... Get Create (RefClass(cComChilkatStringBuilder)) To hoSbDistPoint If (Not(IsComObjectCreated(hoSbDistPoint))) Begin Send CreateComObject of hoSbDistPoint End Get pvComObject of hoSbDistPoint to vSbDistPoint Get ComGetChildContentSb Of hoXml "sequence|contextSpecific|contextSpecific|contextSpecific" vSbDistPoint To iSuccess If (iSuccess = True) Begin Get ComDecode Of hoSbDistPoint "base64" "utf-8" To iSuccess Get ComGetAsString Of hoSbDistPoint To sTemp1 Showln "CRL Distribution Point: " sTemp1 End // Sample output: // CRL Distribution Point: http://crl.comodoca.com/COMODORSAClientAuthenticationandSecureEmailCA.crl End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.