Sample code for 30+ languages & platforms
AutoIt

Examine SSL/TLS Server Certificate

See more Socket/SSL/TLS Examples

Demonstrates how an application can examine and check a server's SSL/TLS certificate.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

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

$oSocket = ObjCreate("Chilkat.Socket")

; Connect to a server.
Local $bUseTls = True
Local $iMaxWaitMs = 2000
$bSuccess = $oSocket.Connect("www.intel.com",443,$bUseTls,$iMaxWaitMs)
If ($bSuccess = False) Then
    ConsoleWrite($oSocket.LastErrorText & @CRLF)
    Exit
EndIf

; If we get here, the TLS connection ws made..
; In any SSL/TLS handshake, the server sends its certificate in a TLS handshake message.
; Chilkat will keep it cached within the object that made the connection.
; Get the server's cert and examine a few things.
$oCert = ObjCreate("Chilkat.Cert")
$oSocket.GetServerCert($oCert)

ConsoleWrite("Distinguished Name: " & $oCert.SubjectDN & @CRLF)
ConsoleWrite("Common Name: " & $oCert.SubjectCN & @CRLF)
ConsoleWrite("Issuer Distinguished Name: " & $oCert.IssuerDN & @CRLF)
ConsoleWrite("Issuer Common Name: " & $oCert.IssuerCN & @CRLF)

ConsoleWrite("Expired: " & $oCert.Expired & @CRLF)
ConsoleWrite("Revoked: " & $oCert.Revoked & @CRLF)
ConsoleWrite("Signature Verified: " & $oCert.SignatureVerified & @CRLF)
ConsoleWrite("Trusted Root: " & $oCert.TrustedRoot & @CRLF)

; Sample output:

; Distinguished Name: C=US, ST=California, O=Intel Corporation, CN=*.intel.com
; Common Name: *.intel.com
; Issuer Distinguished Name: C=GB, ST=Greater Manchester, L=Salford, O=Sectigo Limited, CN=Sectigo RSA Organization Validation Secure Server CA
; Issuer Common Name: Sectigo RSA Organization Validation Secure Server CA
; Expired: False
; Revoked: False
; Signature Verified: True
; Trusted Root: True