Perl
Perl
Load a CSR and Get the SANs (Subject Alternative Names)
See more CSR Examples
Demonstrates how to load a Certificate Signing Request (CSR) and get the Subject Alternative Names (if any).Note: This example requires Chilkat v9.5.0.91 or greater.
Chilkat Perl Downloads
use chilkat();
$success = 0;
# Note: Requires Chilkat v9.5.0.91 or greater.
# This requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$csr = chilkat::CkCsr->new();
# Load a CSR PEM file. The file should contain content that looks like this:
#
# -----BEGIN CERTIFICATE REQUEST-----
# MIIDnzCCAocCAQAwgZ4xFDASBgNVBAMMC2V4YW1wbGUuY29tMRQwEgYDVQQHDAtM
# b3MgQW5nZWxlczETMBEGA1UECAwKQ2FsaWZvcm5pYTEUMBIGA1UECgwLRXhhbXBs
# ZSBJbmMxFDASBgNVBAsMC1NTTCBTdXBwb3J0MSIwIAYJKoZIhvcNAQkBFhNleGFt
# cGxlQGV4YW1wbGUuY29tMQswCQYDVQQGEwJVUzCCASIwDQYJKoZIhvcNAQEBBQAD
# ggEPADCCAQoCggEBALhIT/q7y1xwpYaR0Coplktwn7RGaJpEBCgbJWxOVPTGL540
# erlhc6MrSEr6fo/HNtAbn6MNWm5F0MwjEU7H1Jxc7DYav+ps3hyhGaK9jalE99Sm
# yFOzKMLDPyWTPpxfT4QBO4rpWxMT2lgixDkZlaNqmC6pUGXArfH+H1F3C0gtH4ZU
# XN/Ipyk6r6ozWnJvIefdMe1JmeMD3RSoVcXd9bNWSpiD4uJnV+2pewkkNzhcGzBH
# MGi4ZjIbpPiYLlri/79fPb6u7wYkYLzCWRKzq6EaJkqY6OQgE33SC1GQKjC/fFRx
# wogub1s9cRjfL6vdqWbTJ5xhOkPeBO3UzHBHIksCAwEAAaCBujCBtwYJKoZIhvcN
# AQkOMYGpMIGmMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgWgMB0GA1UdJQQWMBQGCCsG
# AQUFBwMBBggrBgEFBQcDAjBtBgNVHREEZjBkggtleGFtcGxlLmNvbYIPd3d3LmV4
# YW1wbGUuY29tgg9mdHAuZXhhbXBsZS5jb22CD3N2bi5leGFtcGxlLmNvbYIQc210
# cC5leGFtcGxlLmNvbYIQaW1hcC5leGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOC
# AQEAsIEDMlZViEVtuQWpfa6vUl5RfqQrop+hh9l4UmEOnERLEzyVO+9Kn7jNxyOR
# Gg7O9H4BYTfet6YwfpawbnQ1HBexduRZaUnET8RiYgKch0vWr/HbP7jvc23XUz2P
# NOAiet/tyTU6U5xJn0H4q1VFIbHjntpBSL+n+aiv8glIUepG8BwTu+vBe2/kVzKG
# ro2tudhbpEJYOwurlHCoubhCah9ryIkDeYEnycsrB6VnaxeGK0/5S2JBQo22/F9s
# T+q0Gee936ISvypLwNoIX+YFAjw2KnqucUM3RKHAAheJin5WNIQXdHHKGsImapun
# VqmPwLN6Kgm+kFVS0H5eyULSnA==
# -----END CERTIFICATE REQUEST-----
$fac = chilkat::CkFileAccess->new();
$csrPem = $fac->readEntireTextFile("qa_data/csr/myCsr.pem","utf-8");
$success = $csr->LoadCsrPem($csrPem);
if ($success != 1) {
print $csr->lastErrorText() . "\r\n";
exit;
}
# Get the SANs
$st = chilkat::CkStringTable->new();
$success = $csr->GetSans($st);
if ($success != 1) {
print $csr->lastErrorText() . "\r\n";
exit;
}
$i = 0;
$numSans = $st->get_Count();
while ($i < $numSans) {
print $st->stringAt($i) . "\r\n";
$i = $i + 1;
}