No se puede generar la firma de Apple Passbook.
-
11-12-2019 - |
Pregunta
Estoy escribiendo un script de shell para generar automáticamente un archivo de firma de Apple Passbook desde Manifest.json utilizando el certificado P12.Aquí está lo que hago:
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
Las dos primeras funciones funcionan bien.Al menos ambos certificados. PEM y Key.PEM se crean.El archivo de firma también se crea, pero por alguna razón está vacío (0 bytes), aunque Manifest.json no está vacío, así como el certificado y la clave.¿Cómo puede suceder esto, y cómo puedo arreglarlo?
Solución
He resuelto este problema.Aparentemente, también necesito certificado WWDR.PEM para hacer esto.Así es como funcionó:
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"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow