array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), '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' => 'ru', '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.
Возвращает true
в случае успешного выполнения или false
, если возникла ошибка.
Пример #1 Получение массива PEM из файла P7B
<?php
$file = 'certs.p7b';
$f = file_get_contents($file);
$p7 = array();
$r = openssl_pkcs7_read($f, $p7);
if ($r === false) {
printf("ОШИБКА: %s не является корректным файлом p7b".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);
?>