将二进制文件转换为.p7b格式

时间:2014-03-29 21:41:22

标签: binary cryptography openssl certificate x509

我需要签署二进制file.bin并将其转换为输出file.p7b格式。 如何完成任务? (Windows操作系统)我应该在openSSL上使用哪些命令? (或Certutil.exe)

1 个答案:

答案 0 :(得分:1)

我对你的问题感到困惑,因为文件扩展名.p7b通常用于仅包含证书(不是签名)的PKCS#7结构,并且更常见的是使用包含签名的PKCS#7结构的.p7s扩展名。但不要紧,文件内容不是文件扩展名。

您没有指定存储签名证书和私钥的位置,因此我们假设您已将PEM编码的X.509签名证书存储在文件" signer.cer"和你的PEM编码存储在文件" signer.key"中的PKCS#1私钥。

您可以使用OpenSSL.exe命令行实用程序对文件进行签名" file.bin"并将存储在DER编码的PKCS#7结构中的签名输出到文件" file.p7b":

openssl.exe smime -sign -binary -in file.bin -signer signer.cer -inkey signer.key -outform DER -out file.p7b

您可以使用以下命令验证签名:

openssl.exe smime -verify -binary -inform DER -in file.p7b -content file.bin -noverify > nul

有关各个选项的详细信息,请参阅OpenSSL SMIME module manual