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) Use a Custom Set of Trusted Root CertificatesDemonstrates how to build a set of trusted root certificates to be used globally by all Chilkat classes.
Use ChilkatAx-win32.pkg Procedure Test Handle hoTrustedRoots Handle hoZip Boolean iSuccess Variant vEntry Handle hoEntry Variant vNextEntry Handle hoNextEntry String sPemStr Variant vCert Handle hoCert Boolean iBHasMoreEntries String sTemp1 Boolean bTemp1 // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatTrustedRoots)) To hoTrustedRoots If (Not(IsComObjectCreated(hoTrustedRoots))) Begin Send CreateComObject of hoTrustedRoots End // Indicate that we will NOT trust any pre-installed certificates on the system. Set ComTrustSystemCaRoots Of hoTrustedRoots To False // Thawte is a certificate authority that provides a .zip download of their // root CA certificates: https://www.thawte.com/roots/index.html // The direct download link is: https://www.verisign.com/support/thawte-roots.zip // Note: The above URLs are valid at the time of writing this example (29-May-2015). // Assuming the .zip has already been downloaded, open it and load each .pem file into // our trusted roots object. Get Create (RefClass(cComChilkatZip)) To hoZip If (Not(IsComObjectCreated(hoZip))) Begin Send CreateComObject of hoZip End // Open a .zip containing PEM files, among other things.. Get ComOpenZip Of hoZip "qa_data/certs/thawte-roots.zip" To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoZip To sTemp1 Showln sTemp1 Procedure_Return End Get ComFirstMatchingEntry Of hoZip "*.pem" To vEntry If (IsComObject(vEntry)) Begin Get Create (RefClass(cComChilkatZipEntry)) To hoEntry Set pvComObject Of hoEntry To vEntry End Get ComLastMethodSuccess Of hoZip To bTemp1 If (bTemp1 <> True) Begin Showln "No entries matched." Procedure_Return End Get Create (RefClass(cComChilkatCert)) To hoCert If (Not(IsComObjectCreated(hoCert))) Begin Send CreateComObject of hoCert End Move True To iBHasMoreEntries While (iBHasMoreEntries = True) Get ComFileName Of hoEntry To sTemp1 Showln "Entry: " sTemp1 // Get the PEM of the CA cert: Get ComUnzipToString Of hoEntry 0 "utf-8" To sPemStr // Load it into a certificate object: Get ComLoadPem Of hoCert sPemStr To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoCert To sTemp1 Showln sTemp1 End // Add it to the trusted roots. Get pvComObject of hoCert to vCert Get ComAddCert Of hoTrustedRoots vCert To iSuccess // The NextMatchingEntry method was added in v9.5.0.50 Get ComNextMatchingEntry Of hoEntry "*.pem" To vNextEntry If (IsComObject(vNextEntry)) Begin Get Create (RefClass(cComChilkatZipEntry)) To hoNextEntry Set pvComObject Of hoNextEntry To vNextEntry End Get ComLastMethodSuccess Of hoEntry To iBHasMoreEntries Send Destroy of hoEntry Move hoNextEntry To hoEntry Loop // Activate the trusted roots globally for all Chilkat objects. // This call really shouldn't fail, so we're not checking the return value. Get ComActivate Of hoTrustedRoots To iSuccess End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.