array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'function.openssl-pkcs7-read.php', 1 => 'openssl_pkcs7_read', ), 'up' => array ( 0 => 'ref.openssl.php', 1 => 'OpenSSL 函数', ), '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' => 'zh', '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 — 将 PKCS7 文件导出为 PEM 格式证书的数组
data
想要解析的字符串数据(p7b 格式)。
certificates
PEM 格式证书的数组,来源于输入的 p7b 数据。
示例 #1 根据 P7B 文件获取 PEM 数组
<?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);
?>