Sample code for 30+ languages & platforms
AutoIt Requires Chilkat v11.0.0+

Use a Custom Set of Trusted Root Certificates

See more Certificates Examples

Demonstrates how to build a set of trusted root certificates to be used globally by all Chilkat classes.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

;  This example requires the Chilkat API to have been previously unlocked.
;  See Global Unlock Sample for sample code.

$oTrustedRoots = ObjCreate("Chilkat.TrustedRoots")

;   Indicate that we will NOT trust any pre-installed certificates on the system.
$oTrustedRoots.TrustSystemCaRoots = 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.
$oZip = ObjCreate("Chilkat.Zip")

;  Open a .zip containing PEM files, among other things..
$bSuccess = $oZip.OpenZip("qa_data/certs/thawte-roots.zip")
If ($bSuccess = False) Then
    ConsoleWrite($oZip.LastErrorText & @CRLF)
    Exit
EndIf

$oEntry = ObjCreate("Chilkat.ZipEntry")
Local $sPemStr
$oCert = ObjCreate("Chilkat.Cert")

Local $sPattern = "*.pem"
Local $bHasMoreEntries = $oZip.EntryMatching($sPattern,$oEntry)
While $bHasMoreEntries = True

    ConsoleWrite("Entry: " & $oEntry.FileName & @CRLF)

    ;  Get the PEM of the CA cert:
    $sPemStr = $oEntry.UnzipToString(0,"utf-8")

    ;  Load it into a certificate object:
    $bSuccess = $oCert.LoadPem($sPemStr)
    If ($bSuccess <> True) Then
        ConsoleWrite($oCert.LastErrorText & @CRLF)
    EndIf

    ;  Add it to the trusted roots.
    $oTrustedRoots.AddCert($oCert)

    $bHasMoreEntries = $oEntry.GetNextMatch($sPattern)
Wend

;   Activate the trusted roots globally for all Chilkat objects.
;   This call really shouldn't fail, so we're not checking the return value.
$bSuccess = $oTrustedRoots.Activate()