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
(Visual FoxPro) 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.
LOCAL loCert LOCAL lnSuccess LOCAL lcExtensionXmlStr LOCAL loXml LOCAL loSbDistPoint * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Cert') loCert = CreateObject('Chilkat.Cert') lnSuccess = loCert.LoadFromFile("qa_data/certs/test_haswdt.cer") IF (lnSuccess <> 1) THEN ? loCert.LastErrorText RELEASE loCert CANCEL ENDIF * Get the CRL Distribution Points extension, which is at OID 2.5.29.31 lcExtensionXmlStr = loCert.GetExtensionAsXml("2.5.29.31") IF (loCert.LastMethodSuccess = 0) THEN ? "Certificate does not have the CDP extension." RELEASE loCert CANCEL ENDIF * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Xml') loXml = CreateObject('Chilkat.Xml') loXml.LoadXml(lcExtensionXmlStr) * See what we have.. ? loXml.GetXml() * 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... * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder') loSbDistPoint = CreateObject('Chilkat.StringBuilder') lnSuccess = loXml.GetChildContentSb("sequence|contextSpecific|contextSpecific|contextSpecific",loSbDistPoint) IF (lnSuccess = 1) THEN loSbDistPoint.Decode("base64","utf-8") ? "CRL Distribution Point: " + loSbDistPoint.GetAsString() ENDIF * Sample output: * CRL Distribution Point: http://crl.comodoca.com/COMODORSAClientAuthenticationandSecureEmailCA.crl RELEASE loCert RELEASE loXml RELEASE loSbDistPoint |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.