Можно ли создать сертификат для подписи Apple Wallet Pass из системы, отличной от iOS, такой как Ubuntu?

Я хотел бы создать сертификат из учетной записи разработчика Apple и использовать его для подписи пропусков/сберегательной книжки Apple Wallet. Таким образом, я могу реализовать сервер для генерации пропусков кошелька для обслуживания моего мобильного приложения.

Проблема для меня в том, что я на Linux (точнее, на Ubuntu). Насколько я вижу, существует множество модулей npm, которые можно использовать для реализации сервера для генерации прохода, но первым шагом является создание сертификата от Apple. Итак, мой вопрос: мне кажется, что это даже невозможно без Mac? Кто-нибудь знает, возможно ли вообще создать этот сертификат с Linux-машины, такой как Ubuntu?

Спасибо


person user2610721    schedule 01.04.2020    source источник


Ответы (1)


Вы не создаете сертификат самостоятельно, вы создаете закрытый ключ и запрос на подпись сертификата и загружаете запрос на подпись сертификата в Apple. Затем они выдают сертификат, соответствующий вашему закрытому ключу.

Это можно сделать в любой операционной системе с помощью OpenSSL. При создании CSR вы можете указать любые значения, поскольку Apple проигнорирует их и заменит PassTypeIdentifier, Team Name и Team Id.

Команды OpenSSL, которые вам нужны:

openssl genrsa -out /path/to/my-private-key.pem 2048

openssl req -new -key /path/to/my-private-key.pem -out /path/to/my-request.csr
person PassKit    schedule 01.04.2020
comment
Спасибо, это отлично работает для меня. Я также использую приведенные ниже команды для экспорта файла .p12 из загруженного сертификата Apple. 'openssl x509 -in pass.cer -inform DER -out pass.pem -outform PEM', затем 'openssl pkcs12 -export -inkey myprivatekey.pem -in pass.pem -out pass.p12' - person user2610721; 02.04.2020