Вопрос

Я пишу скрипт оболочки, чтобы автоматически генерировать файл подписи PassBook Apple из Mainesest.json с использованием сертификата P12.Вот что я делаю:

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 байт), хотя mainest.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