我试图通过PHP获取证书的所有者信息。
我有.p12
文件,当尝试使用openssl
PHP
个函数阅读信息时:
if (getenv('HTTPS')=='on'){
$cert=$_SERVER['SSL_CLIENT_CERT'];
}else{
$fname = "certname.p12";
$f = fopen($fname, "r");
$cert = fread($f, filesize($fname));
fclose($f);
}
$certdata = array();
$pass = "pass";
openssl_pkcs12_read($cert, $certdata, $pass);
print_r($certdata);
我获得了三个加密字段:
['cert']
['pkey']
['extracerts']['0']
如何以纯文本格式阅读电子邮件字段?
由于
答案 0 :(得分:1)
通过以下方式解决:
之后
openssl_pkcs12_read($cert, $certdata, $pass);
待办事项
$certdata= openssl_x509_parse($certdata['cert'],0);
感谢所有
答案 1 :(得分:0)
我还有其他方法来获取证书值
if (openssl_pkcs12_read($almacén_cert, $info_cert, $request->password))
{
$pkey = $info_cert['pkey']; //private key
$cert = $info_cert['cert']; //public key
$certdata= openssl_x509_parse($info_cert['cert'],0);
return $certdata; // base64_decode($info_cert['extracerts'][0]);
} else {
return "Error.";
}
我在Laravel中使用了