php - 将 SSL 命令翻译成 PHP

标签 php ssl

我有一个 SSL 命令,它使用给定的 key 对字符串进行签名: openssl dgst -sha256 -hex -sign key.pem data.txt。我想知道如何将它转换为 PHP 函数。 PHP 中的等价物应该是这样的: openssl_sign($data, $signature, $key, OPENSSL_ALGO_SHA256)。但是,unix 命令以十六进制输出签名,而我并不真正了解 PHP 命令输出的内容。

最佳答案

这将产生与 openssl 命令相同的十六进制表示:

$signature = "";
$data = file_get_contents("data.txt");
$key = file_get_contents("key.pem");
openssl_sign($data, $signature, $key, OPENSSL_ALGO_SHA256);
echo bin2hex($signature);

本质上,php 版本生成二进制字节,因此在我上面的代码中,我只是使用 bin2hex 函数以您在 openssl 命令中使用的相同格式输出它。

关于php - 将 SSL 命令翻译成 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47979348/

相关文章:

http - ruSTLs HTTP 请求响应 301

javascript - 当我从其他域的 coideigniter 中使用 ajax 进行调用时丢失 session

php - Doxygen - 重写方法 - 注释不被继承,为什么?

php - Symfony/Doctrine Dateinterval(持续时间)如何将其存储在数据库中

php - 从下拉列表中选择多个项目并发送到数据库

java - 如何在 Java 应用程序中使用 SSLSockets 而不是标准套接字

ssl - 将 Jetty 9 和 jetty.xml 与 BaseX 结合使用

php - WordPress:帖子 ID 自定义 CSS

node.js - 如何启用基于 NodeJS (Express) 的服务器的 SSL 连接

php - 如何使用 Mozilla CA 证书作为 ssl 客户端证书