如何从 PHP 中的路径读取证书的指纹



我有一个证书,我希望从文件路径中读取SHA 1 FingerprintSHA 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

传递给OpenSSL函数的文件路径必须是完全限定的URL。在本地文件系统上时,这意味着它们采用file://absolute/path/to/file格式。

或者在您的情况下:

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

当然,正如评论中所建议的,您也可以传递原始文件内容,但这在技术上效率较低。

在这里阅读: https://secure.php.net/manual/en/openssl.certparams.php

相关内容

  • 没有找到相关文章

最新更新