(PHP 8)
openssl_cms_read — Export the CMS file to an array of PEM certificates
Extracts the certificates and CRLs from a PEM-encoded CMS structure and returns them as PEM strings. This is the CMS analog of openssl_pkcs7_read().
input_filenameThe PEM-encoded CMS data to parse. Despite its name, this is the data itself, not a path to a file.
certificatesFilled with an array of PEM strings. Certificates and CRLs are only extracted from signed data; for other content types the array is left empty.
Example #1 openssl_cms_read() example
<?php
// PEM-encoded CMS data
$data = file_get_contents('file.pem');
if (!openssl_cms_read($data, $certificates)) {
exit('Not a valid PEM CMS structure: ' . openssl_error_string());
}
foreach ($certificates as $pem) {
$info = openssl_x509_parse($pem);
if ($info !== false) {
echo $info['name'], PHP_EOL;
}
}
?>