Go
Go
Subject Alternative Name
See more Certificates Examples
Demonstrates the usage of the SubjectAlternativeName property to get the certificate SAN (subject alternative name) as XML.Chilkat Go Downloads
success := false
// Note: Not all certificates contain a Subject Alternative Name.
// If it does not, the SubjectAlternativeName property will contain the empty string.
cert := chilkat.NewCert()
success = cert.LoadFromFile("qa_data/certs/testIcpBrasil.cer")
if success == false {
fmt.Println(cert.LastErrorText())
cert.DisposeCert()
return
}
subjectAltNameXml := cert.SubjectAlternativeName()
fmt.Println(subjectAltNameXml)
// Here's a sample of the subjectAltNameXml:
// <?xml version="1.0" encoding="utf-8"?>
// <SubjectAltName>
// <name type="oid" oid="2.16.76.1.3.4">...</name>
// <name type="oid" oid="2.16.76.1.3.2">...</name>
// <name type="oid" oid="2.16.76.1.3.3">...</name>
// <name type="oid" oid="2.16.76.1.3.7">...</name>
// <rfc822Name>...</rfc822Name>
// </SubjectAltName>
// The XML can be parsed like this:
xml := chilkat.NewXml()
xml.LoadXml(subjectAltNameXml)
var oid *string = new(string)
var name *string = new(string)
i := 0
count_i := xml.NumChildrenHavingTag("name")
for i < count_i {
xml.SetI(i)
oid = xml.ChilkatPath("name[i]|(oid)")
name = xml.GetChildContent("name[i]")
i = i + 1
}
rfc822Name := xml.GetChildContent("rfc822Name")
cert.DisposeCert()
xml.DisposeXml()