0

我在使用 openssl_x509_parse() 函数时遇到问题

$parsed_cert = openssl_x509_parse(file_get_contents('/home/my_location/aaa010101aaa__csd_01.cer'));

该函数返回一个错误,我不确定原因。也许证书文件必须在.pemor中.crt

编辑:代码没问题,但文件的格式是问题,所以我不得不将它从 .cer 原始文件转换为 .crt。

4

2 回答 2

0

手册页中查看示例后,您的代码似乎很好。问题可能出在 file_get_contents 中。

请尝试以下方法并检查 if 文件是否有效。

$file = file_get_contents('/home/my_location/aaa010101aaa__csd_01.cer');
$parsed_cert = openssl_x509_parse($file);

现在检查什么是文件。它是否存在或有效的证书文件?

于 2013-07-18T04:24:06.697 回答
0

phpseclib 的纯 PHP X509 实现比 OpenSSL 对 X.509 证书的容错性更高。以下是如何使用它的示例:

<?php
include('File/X509.php');

$x509 = new File_X509();
$cert = $x509->loadX509('...'); // see google.crt

print_r($cert);
?>

至于 OpenSSL 的容错性较低......一个例子是OpenSSL 不会解码单个行长于 64 字节的密钥,而 phpseclib 会

于 2013-07-23T18:06:34.257 回答