无法生成Apple Passbook签名

Tof*_*nov 5 openssl certificate smime ios6 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
Run Code Online (Sandbox Code Playgroud)

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

Tof*_*nov 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"
Run Code Online (Sandbox Code Playgroud)