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

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
.

前两个功能正常工作。至少都有证书.pem和key.pem是创建的。还创建了签名文件,但由于某种原因它为空(0字节),虽然ManiceSt.json不为空,以及证书和键。这怎么可能发生,我如何解决它?

有帮助吗?

解决方案

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top