在PHP中获取SSL证书的签名

3
我正在寻找一种方法,从base64编码的证书中获取证书签名。根据我的了解(http://en.wikipedia.org/wiki/Public_key_certificate#Contents_of_a_typical_digital_certificate),证书的签名包含在证书本身中。但是,我还没有找到检索该签名的方法。
我打算使用该签名来使用openssl_verify()检查SSL证书链。我知道可以通过执行('openssl verify -CAfile root.pem certificate.pem ')实现,但我想知道是否有一种在PHP内部完成的方法,即使它稍微复杂一些也没关系。
谢谢。
2个回答

2
您可以使用纯PHP X509实现的phpseclib
<?php
include('File/X509.php');

$x509 = new File_X509();
$cert = $x509->loadX509('...');

echo $cert['signature'];

请注意,该sig将进行Base64编码。根据您的需要,您可能需要对其进行base64解码。

1

PHP在处理安全证书方面的本地能力非常有限,但是有一些库已经被编写出来并且非常容易使用。我发现其中最好的一个是xmlseclib.php,可以在谷歌上的xmlseclib找到。


谢谢,我一定会研究一下的。 - Tech163

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接