【发布时间】: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