【问题标题】:Cannot generate Apple Passbook signature无法生成 Apple Passbook 签名
【发布时间】:2012-09-20 22:23:10
【问题描述】:

我正在编写一个 shell 脚本,使用 p12 证书从 manifest.json 自动生成 Apple Passbook 签名文件。这是我的工作:

openssl pkcs12 -passin pass:"mypass" -in "mycert.p12" -clcerts -nokeys -out certificate.pem
openssl pkcs12 -passin pass:"mypass" -in "mycert.p12" -nocerts -out key.pem
openssl smime  -passin pass:"mypass" -binary -sign -signer certificate.pem -inkey key.pem -in manifest.json -out signature -outform DER

前两个函数工作正常。至少同时创建了 certificate.pem 和 key.pem。签名文件也被创建,但由于某种原因它是空的(0 字节),虽然 manifest.json 不为空,还有证书和密钥。这怎么会发生,我该如何解决?

【问题讨论】:

  • 在运行这些命令时,您从 openssl 收到什么消息?
  • 我没有收到任何错误消息。只是生成的文件是空的。我已经在下面发布了解决方案。
  • 对我来说,前 2 个命令有效(至少我认为它们有效,因为我得到了 2 个 pem 文件),但第三个命令返回“无法加载证书”。如此混乱。知道它可能是什么吗? :(

标签: openssl certificate ios6 smime passbook


【解决方案1】:

我已经解决了这个问题。显然,我还需要 WWDR.pem 证书来执行此操作。它是这样工作的:

openssl pkcs12 -passin pass:"somepass" -in "mycert.p12" -clcerts -nokeys -out certificate.pem
openssl pkcs12 -passin pass:"somepass" -in "mycert.p12" -nocerts -out key.pem -passout pass:"somepass"
openssl smime -binary -sign -certfile WWDR.pem -signer certificate.pem -inkey key.pem -in manifest.json -out signature -outform DER -passin pass:"somepass"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-16
    • 2018-10-16
    • 2020-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多