Rust
Rust
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 Rust Downloads
// Note: Not all certificates contain a Subject Alternative Name.
// If it does not, the SubjectAlternativeName property will contain the empty string.
let cert = chilkat::Cert::new();
if cert.load_from_file("qa_data/certs/testIcpBrasil.cer").is_err() {
println!("{}", cert.last_error_text());
return;
}
let subject_alt_name_xml = cert.subject_alternative_name();
println!("{}", subject_alt_name_xml);
// 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:
let xml = chilkat::Xml::new();
let _ = xml.load_xml(&subject_alt_name_xml);
let mut i = 0;
let count_i = xml.num_children_having_tag("name");
while i < count_i {
xml.set_i(i);
let _ = xml.chilkat_path("name[i]|(oid)").unwrap_or_default();
let _ = xml.get_child_content("name[i]").unwrap_or_default();
i = i + 1;
}
let rfc822_name = xml.get_child_content("rfc822Name").unwrap_or_default();