PHP
Chilkat2 PHP
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 PHP Downloads
<?php
use Chilkat2\Cert;
use Chilkat2\Xml;
// Note: Not all certificates contain a Subject Alternative Name.
// If it does not, the SubjectAlternativeName property will contain the empty string.
$cert = new Cert();
try {
$cert->LoadFromFile('qa_data/certs/testIcpBrasil.cer');
} catch (\Chilkat2\Exception $e) {
echo $e->getMessage(), "\n";
exit;
}
$subjectAltNameXml = $cert->SubjectAlternativeName;
echo $subjectAltNameXml, "\n";
// 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 = new Xml();
$xml->LoadXml($subjectAltNameXml);
$oid = '';
$name = '';
$i = 0;
$count_i = $xml->NumChildrenHavingTag('name');
while ($i < $count_i) {
$xml->I = $i;
$oid = $xml->ChilkatPath('name[i]|(oid)');
$name = $xml->GetChildContent('name[i]');
$i = $i + 1;
}
$rfc822Name = $xml->GetChildContent('rfc822Name');