无法生成Apple Passbook签名

时间:2012-09-29 04:57:41

标签: openssl certificate ios6 smime passbook

我正在编写一个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不为空,以及证书和密钥。怎么会发生这种情况,我该如何解决?

1 个答案:

答案 0 :(得分:10)

我已经解决了这个问题。显然,我还需要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"