获取PHP中的SSL证书签名
问题描述:
我正在寻找解决方案以从base64_encoded证书中获取证书的签名。根据我的理解(http://en.wikipedia.org/wiki/Public_key_certificate#Contents_of_a_typical_digital_certificate),证书的签名包含在证书本身中。但是,我还没有找到检索该签名的方法。获取PHP中的SSL证书签名
我打算使用签名来检查SSL证书链openssl_verify()。我知道可以通过exec('openssl verify -CAfile root.pem certificate.pem')来完成,但我想知道是否有一种方法可以在PHP本身内部完成,即使它稍微复杂一些。
在此先感谢。
答
你可以使用phpseclib, a pure PHP X509 implementation:
<?php
include('File/X509.php');
$x509 = new File_X509();
$cert = $x509->loadX509('...');
echo $cert['signature'];
注意,SIG将Base64编码。根据你需要它,你可能想base64_decode它。
谢谢。肯定会研究它。 – Tech163