ssl — Как прочитать отпечаток сертификата по пути в переполнении стека

У меня есть сертификат, и я хочу прочитать SHA 1 Fingerprint а также SHA 256 Fingerprint из пути к файлу.

<?php

ini_set("display_startup_errors", 1);
ini_set("display_errors", 1);
error_reporting(-1);

$certificate = "./wwwbbminfocom.crt";
$cert = openssl_x509_read($certificate);
$sha1_hash = openssl_x509_fingerprint($cert); // sha1 hash
$md5_hash = openssl_x509_fingerprint($cert, 'md5'); // md5 hash

?>

Примечание: я скачал сертификат SSL с сайта https://www.bbminfo.com/Tutor/php_error_error_log.php

Я получил следующее предупреждение PHP:

Warning: openssl_x509_read(): supplied parameter cannot be coerced into an X509 certificate! in /home/super/public_html/md.php on line 8

Warning: openssl_x509_fingerprint(): cannot get cert from parameter 1 in /home/super/public_html/md.php on line 9

Warning: openssl_x509_fingerprint(): cannot get cert from parameter 1 in /home/super/public_html/md.php on line 10

Пожалуйста, помогите мне, как прочитать файл и получить отпечаток пальца. я использую PHP 7.0

2

Решение

Путь к файлу, передаваемый в функции OpenSSL, должен быть полностью определенным URL-адресом. Находясь в локальной файловой системе, это означает, что они находятся в file://absolute/path/to/file формат.

Или в вашем случае:

$certificate = "file://".realpath("./wwwbbminfocom.crt");

Конечно, как предлагается в комментариях, вы также можете передать необработанное содержимое файла, но это технически менее эффективно.

Читайте здесь: https://secure.php.net/manual/en/openssl.certparams.php

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]