Sample code for 30+ languages & platforms
AutoIt

Get Certificate Subject Part by Name or OID

Demonstrates the GetSubjectPart method where a name or OID can be passed.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

$oCert = ObjCreate("Chilkat.Cert")

$bSuccess = $oCert.LoadByCommonName("myCert")
If ($bSuccess = False) Then
    ConsoleWrite($oCert.LastErrorText & @CRLF)
    Exit
EndIf

; This example demonstrates getting the SERIALNUMBER part of the subject,
; if one such part exists in the cert's subject.
; Not too many certicates include the serial number in the Subject.
; (Chilean issued certificates for SII is one such case where the SERIALNUMBER part exists within the Subject.)
Local $serialNum = $oCert.GetSubjectPart("SERIALNUMBER")
If ($oCert.LastMethodSuccess = False) Then
    ConsoleWrite("No SERIALNUMBER part exists." & @CRLF)
    Exit
EndIf

ConsoleWrite($serialNum & @CRLF)

; We could also get the part by the OID.
; See https://oidref.com/2.5.4.5 for a list of OID's in the 2.5.4.* range..
; The OID for SERIALNUMBER is "2.5.4.5"
$serialNum = $oCert.GetSubjectPart("2.5.4.5")
If ($oCert.LastMethodSuccess = False) Then
    ConsoleWrite("No SERIALNUMBER part exists." & @CRLF)
    Exit
EndIf

ConsoleWrite($serialNum & @CRLF)