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 ( ) )