Получение подписи SSL-сертификата в PHP - PullRequest
2 голосов
/ 20 ноября 2011

Я ищу решение, чтобы получить подпись сертификата из base64_encoded сертификата. Из моего понимания (http://en.wikipedia.org/wiki/Public_key_certificate#Contents_of_a_typical_digital_certificate), подпись сертификата содержится в самом сертификате. Однако я не нашел способа получить эту подпись.

Я собираюсь использовать подпись для проверки цепочки сертификатов SSL с помощью openssl_verify (). Я знаю, что это можно сделать через exec ('openssl verify -CAfile root.pem certificate.pem'), но я хочу знать, есть ли способ сделать это в самом PHP, даже если он немного сложнее.

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 18 июня 2014

Вы можете использовать phpseclib, чистую реализацию PHP X509 :

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

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

echo $cert['signature'];

Обратите внимание, что sig будет закодирован в base64.В зависимости от того, что вам нужно, вы можете использовать base64_decode.

1 голос
/ 20 ноября 2011

php невероятно не хватает встроенной способности обрабатывать сертификаты безопасности, но есть некоторые библиотеки, которые были написаны и довольно просты в использовании. Один из лучших, которые я нашел, это xmlseclib.php по адресу: xmlseclib в Google

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...