openssl_pkcs12_read()
(PHP 5 >= 5.2.2, PHP 7)
将 PKCS#12 证书存储区解析到数组中
说明
openssl_pkcs12_read(string $pkcs12,array &$certs,string $pass): bool
openssl_pkcs12_read()将$pkcs12提供的PKCS#12证书存储区解析到以$certs命名的变量中。
参数
- $pkcs12
证书存储内容,而不是它的文件名。
- $certs
成功,将保存证书存储数据
- $pass
用来解锁 PKCS#12 文件的解密密码
返回值
成功时返回TRUE,或者在失败时返回FALSE。
范例
openssl_pkcs12_read()范例
<?php
if (!$cert_store = file_get_contents("/certs/file.p12")) {
echo "Error: Unable to read the cert file\n";
exit;
}
if (openssl_pkcs12_read($cert_store, $cert_info, "my_secret_pass")) {
echo "Certificate Information\n";
print_r($cert_info);
} else {
echo "Error: Unable to read the cert store.\n";
exit;
}
?>
To extract the contents of a PKCS12 file you can use file_get_contents as well: <? $certs = array(); $pkcs12 = file_get_contents( "pkcs12file.pem" ); // No password openssl_pkcs12_read( $pkcs12, $certs, "" ); print_r( $certs ); ?> Output is: Array ( [cert] => --- BEGIN CERTIFICATE --- //snipsnip// --- END CERTIFICATE --- [pkey] => --- BEGIN RSA PRIVATE KEY --- //snipsnip// [extracerts] = Array ( ) )
