gpt4 book ai didi

PHP如何解析pkcs7签名blob?

转载 作者:可可西里 更新时间:2023-11-01 13:22:39 24 4
gpt4 key购买 nike

我有一个 PKCS7 签名,我可以从中获取已解析的内容

openssl pkcs7 -inform DER -in signature.pkcs7 -print_certs -text

但是如何使用 PHP 的 openssl 函数实现相同的输出?

编辑。我成功地使用以下函数创建了正确的 PEM 文件:

function der2pem($der_data, $type="CERTIFICATE") {
$pem = chunk_split(base64_encode($der_data), 64, "\n");
$pem = "-----BEGIN $type-----\n".$pem."-----END $type-----\n";
return $pem;
}
$data = der2pem($der_data, "PKCS7");

但是,我无法使用 PHP 手册中提到的任何函数成功解析数据。它与 openssl 配合使用:

openssl pkcs7 -inform PEM -in signature.pkcs7 -print_certs -text

最佳答案

不幸的是,我相信没有简单的解决方案。如果你想在 PHP 中解析 PKCS#7 DER 编码的签名,你需要一些 ASN.1 解析器。 PHP 中的 OpenSSL 函数无法做到这一点。

Do any PHP libraries exist for parsing ASN.1 or generating PHP code based on it?

尝试使用一些引用的解析器解码您的 DER 数据。如果任何解析器都可以工作,您应该能够看到并提取所需的信息。作为第一步,您可以尝试来自 phpseclib 项目的在线解析器。

http://phpseclib.sourceforge.net/x509/asn1parse.php

关于PHP如何解析pkcs7签名blob?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29102564/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com