相关疑难解决方法(0)

从php中的PKCS7签名中提取证书

我需要从pkcs7签名文件中提取用户证书.我可以使用以下命令通过命令行执行此操作:

openssl pkcs7 -in somesign.pks7 -inform PEM -print_certs
Run Code Online (Sandbox Code Playgroud)

这将为我提供整个证书链,我可以处理生成的文件以提取我想要的内容.

有没有办法用openssl_pkcs7_命令做到这一点?我看到openssl_pkcs7_verify有$ outfilename,其中将存储证书,但我没有签名的消息,但似乎$ filename应该同时具有签名和消息,这不是我的情况(签名是单独的文件).

php openssl signature smime pkcs#7

13
推荐指数
1
解决办法
2709
查看次数

PHP如何解析pkcs7签名blob?

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

openssl pkcs7 -inform DER -in signature.pkcs7 -print_certs -text
Run Code Online (Sandbox Code Playgroud)

但是如何使用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");
Run Code Online (Sandbox Code Playgroud)

然而,我并没有成功地使用PHP手册中提到的任何功能来解析数据.它使用openssl工作:

openssl pkcs7 -inform PEM -in signature.pkcs7 -print_certs -text
Run Code Online (Sandbox Code Playgroud)

php openssl pkcs#7

6
推荐指数
1
解决办法
2686
查看次数

标签 统计

openssl ×2

php ×2

pkcs#7 ×2

signature ×1

smime ×1