Lua
Lua
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 Lua Downloads
local chilkat = require("chilkat")
local cert = chilkat.Cert.new()
local success = cert:load_from_file("qa_data/certs/testIcpBrasil.cer")
if not success then
print(cert.last_error_text)
return
end
-- If the cert's Subject Alternative Name contains multiple values, each specified by an OID,
-- then the Rfc822Name property returns XML.
local subjectAltNameXml = cert.rfc822_name
print(subjectAltNameXml)
-- 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:
local xml = chilkat.Xml.new()
xml:load_xml(subjectAltNameXml)
local oid = ""
local name = ""
local i = 0
local count_i = xml:num_children_having_tag("name")
while i < count_i do
xml.i = i
oid = xml:chilkat_path("name[i]|(oid)")
name = xml:get_child_content("name[i]")
print(oid .. ": " .. name)
i = i + 1
end