【问题标题】:Sign file with .der-Certificate and create signature (pkcs#7)使用 .der-Certificate 签署文件并创建签名 (pkcs#7)
【发布时间】:2014-10-12 19:59:23
【问题描述】:

我想做的是:

  • 使用证书通过 openssl 对 zip 文件进行签名并创建签名文件 (pkcs#7)

到目前为止我所拥有的/我所做的:

  1. 我安装了openssl并打开了控制台
  2. 我创建了一个 rsa 密钥 (openssl genrsa -out key.pem 2048)
  3. 我创建了一个请求(openssl req -batch -sha256 -new -key key.pem -out request.pem –subj '/C=../ST=../L=../O=../OU=../CN=..')
  4. 我将此请求发送给对请求施展魔法的人 并向我发送了一个名为“certificate.der”的文件。当我打开这个文件时,会有一些信息,比如 oscp-url 之类的。

到目前为止,一切都很好。接下来,我天真的方法是使用此证书对 zip 文件进行签名,并告诉 openssl 创建 pkcs#7-signature,以便我可以使用 ocsp-responder 对其进行验证。 但我真的不知道该方法是否正确以及如何签署 zip 文件。 :-(如果我在推理中有错误,也请告诉我。:-)

有人可以帮帮我吗?

【问题讨论】:

    标签: openssl certificate sign pkcs#7 der


    【解决方案1】:

    您可以使用 openssl 来执行此操作。使用命令

    openssl.exe smime -sign -binary -in file.zip -signer certificate.der -inkey key.pem -outform DER -out file.p7b
    

    您可以通过该命令使用 openssl 验证签名

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

    更多信息请阅读openssl手册here

    【讨论】:

    • 此命令显示错误消息:无法加载证书 5456:error:0906D06C:PEMroutines:PEM_rea .c:703:Expecting: TRUSTED CERTIFICATE
    • 将 der 文件转换为 pem 并执行命令完成了这项工作 - 谢谢!
    • openssl 默认需要 pem 格式,但是如果你在命令中添加-inform der,你也可以使用 der 格式的证书。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-15
    • 1970-01-01
    相关资源
    最近更新 更多