AutoIt
AutoIt
Subject Alternative Name for ICP Brasil Certs
See more Certificates Examples
Demonstrates how to access the multiple names contained in the Subject Alternative Name of a certificate. This example is for an ICP Brasil certificate.Chilkat AutoIt Downloads
Local $bSuccess = False
$oCert = ObjCreate("Chilkat.Cert")
$bSuccess = $oCert.LoadFromFile("qa_data/certs/testIcpBrasil.cer")
If ($bSuccess = False) Then
ConsoleWrite($oCert.LastErrorText & @CRLF)
Exit
EndIf
; If the cert's Subject Alternative Name contains multiple values, each specified by an OID,
; then the Rfc822Name property returns XML.
Local $subjectAltNameXml = $oCert.Rfc822Name
ConsoleWrite($subjectAltNameXml & @CRLF)
; Here's a sample of the subjectAltNameXml:
; <SubjectAltName>
; <name type="oid" oid="2.16.76.1.3.4">290999653223955019700000000000000000000150424SRJUXPTS</name>
; <name type="oid" oid="2.16.76.1.3.2">JOAO SILVA</name>
; <name type="oid" oid="2.16.76.1.3.3">02408939000115</name>
; <name type="oid" oid="2.16.76.1.3.7">000000000000</name>
; </SubjectAltName>
; The XML can be parsed like this:
$oXml = ObjCreate("Chilkat.Xml")
$oXml.LoadXml($subjectAltNameXml)
Local $sOid
Local $sName
Local $i = 0
Local $iCount_i = $oXml.NumChildrenHavingTag("name")
While $i < $iCount_i
$oXml.I = $i
$sOid = $oXml.ChilkatPath("name[i]|(oid)")
$sName = $oXml.GetChildContent("name[i]")
ConsoleWrite($sOid & ": " & $sName & @CRLF)
$i = $i + 1
Wend