【发布时间】:2014-05-09 08:34:09
【问题描述】:
我需要签署一个二进制file.bin 并将其转换为输出file.p7b 格式。
如何完成一项任务? (Windows 操作系统)我应该在 openSSL 中使用哪些命令? (或 Certutil.exe)
【问题讨论】:
标签: binary cryptography openssl certificate x509
我需要签署一个二进制file.bin 并将其转换为输出file.p7b 格式。
如何完成一项任务? (Windows 操作系统)我应该在 openSSL 中使用哪些命令? (或 Certutil.exe)
【问题讨论】:
标签: binary cryptography openssl certificate x509
我对您的问题有点困惑,因为文件扩展名 .p7b 通常用于仅包含证书(不包括签名)的 PKCS#7 结构,并且更常见的是对包含签名的 PKCS#7 结构使用 .p7s 扩展名。但没关系,文件内容与文件扩展名无关。
您没有指定您的签名证书和私钥存储在哪里,因此我们假设您将 PEM 编码的 X.509 签名证书存储在文件“signer.cer”中,并且您的 PEM 编码的 PKCS#1 私钥存储在文件“signer.key”。
您可以使用 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。
【讨论】: