array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'en', ), 'this' => array ( 0 => 'function.openssl-pkcs7-read.php', 1 => 'openssl_pkcs7_read', ), 'up' => array ( 0 => 'ref.openssl.php', 1 => 'OpenSSL Functions', ), 'prev' => array ( 0 => 'function.openssl-pkcs7-encrypt.php', 1 => 'openssl_pkcs7_encrypt', ), 'next' => array ( 0 => 'function.openssl-pkcs7-sign.php', 1 => 'openssl_pkcs7_sign', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/openssl/functions/openssl-pkcs7-read.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 7 >= 7.2.0, PHP 8)
openssl_pkcs7_read — Export the PKCS7 file to an array of PEM certificates
This function is currently not documented; only its argument list is available.
data
The string of data you wish to parse (p7b format).
certificates
The array of PEM certificates from the p7b input data.
Example #1 Get a PEM array from a P7B file
<?php
$file = 'certs.p7b';
$f = file_get_contents($file);
$p7 = array();
$r = openssl_pkcs7_read($f, $p7);
if ($r === false) {
printf("ERROR: %s is not a proper p7b file".PHP_EOL, $file);
for($e = openssl_error_string(), $i = 0; $e; $e = openssl_error_string(), $i++)
printf("SSL l%d: %s".PHP_EOL, $i, $e);
exit(1);
}
print_r($p7);
?>