личность разработчика aps.cer в p12 без необходимости экспорта из цепочки ключей?
Меня сбросить нагрузку о 'aps_developer_identity.сертификаты cer, экспортированные с портала разработчика iPhone. Все они были созданы с использованием одного и того же запроса на подпись сертификата и (таким образом) одного и того же закрытого ключа. Если я экспортирую только закрытый ключ из цепочки ключей Apple, то можно ли взять закрытый ключ и aps_developer_identity.cer' и использовать openssl для создания объединенного сертификата p12 / pkcs#12, который я могу использовать на моем (Windows) сервере.
Просто чтобы быть ясным, я знаю, как это сделать. получите объединенный p12 из цепочки ключей, экспортировав как закрытый ключ, так и сертификат вместе, но я хочу удалить все лишние щелчки мышью и ввод текста, если смогу.
3 ответа:
Мне удалось решить эту проблему, ее просто нужно завернуть в сценарий оболочки, и это хорошо. Я предполагаю, что вы загрузили и переименовали свой ' apple_developer_identity.сертификатов CER', здесь я использую тесты.cer', и что вы также экспортировали свой ключ разработчика из Связки ключей, в приведенном ниже примере с именем " private_dev_key.Р12'.
#convert *.cer (der format) to pem openssl x509 -in test.cer -inform DER -out test.pem -outform PEM #convert p12 private key to pem (requires the input of a minimum 4 char password) openssl pkcs12 -nocerts -out private_dev_key.pem -in private_dev_key.p12 # if you want remove password from the private key openssl rsa -out private_key_noenc.pem -in private_key.pem #take the certificate and the key (with or without password) and create a PKCS#12 format file openssl pkcs12 -export -in test.pem -inkey private_key_noenc.pem -certfile _CertificateSigningRequest.certSigningRequest -name "test" -out test.p12
Примечание: Если вы считаете, что все это немного затянуто, чтобы достичь того, что можно сделать с помощью нескольких щелчков мыши и ввода имени файла, то рассмотрим случай, когда у вас есть 20 приложений, которые вы хотите включить для уведомлений. Каждое приложение имеет сертификат на разработку и производство, срок действия которого истекает через 4 и 12 месяцев соответственно. Это очень скучная и подверженная ошибкам работа...
Потрясающая работа здесь. Спасибо за реальную помощь, ребята. Я опустил ниже свой сценарий оболочки, который может помочь другим. У меня есть несколько ключей, с которыми нужно иметь дело, и я тоже хотел сценарий. Этот скрипт выведет статические имена для выходных файлов (хотя это было бы просто изменить).
Я надеюсь, что это поможет кому-то еще.Пример использования (предполагая имя скрипта):
$ . thisScript request_file.cer priv_key.p12 aps_dev.cer
Сценарий:
if [ $# -ne 3 ] then echo "Error in $0 - Invalid Argument Count" echo "Syntax: $0 request_cer_file p12_file app_cer_file output_filename" echo " - request_cer_file is the request file you sent to apple" echo " - p12_file is found in your keychain (it's the private key)" echo " - app_cer_file is found on App ID screen from Apple" else reqFile=$1 p12File=$2 cerFile=$3 certPEM='apn_cert.pem' pKeyPEM='apn_pkey.pem' pKeyNoEncPEM='apn_pkey_noenc.pem' p12FileOut='apn_cert_key.p12' # remove old rm $certPEM rm $pKeyPEM rm $pKeyNoEncPEM rm $p12FileOut #convert *.cer (der format) to pem openssl x509 -in $cerFile -inform DER -out $certPEM -outform PEM #convert p12 private key to pem (requires the input of a minimum 4 char password) openssl pkcs12 -nocerts -out $pKeyPEM -in $p12File # if you want remove password from the private key openssl rsa -out $pKeyNoEncPEM -in $pKeyPEM #take the certificate and the key (with or without password) and create a PKCS#12 format file openssl pkcs12 -export -in $certPEM -inkey $pKeyNoEncPEM -certfile $reqFile -name "apn_identity" -out $p12FileOut # # # If all things worked then the following should work as a test # openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apn_cert.pem -key apn_pkey_noenc.pem # # echo "Looks like everything was successful" echo "Test command:" echo "openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apn_cert.pem -key apn_pkey_noenc.pem" echo fi
Вы можете сделать сертификат p12/pkcs#12 непосредственно в связке ключей. Нет необходимости выполнять какую-либо команду.
1.дважды щелкните на файле сертификата разработчика/производителя, загруженном с сайта Apple dev.(Это будет добавлено в keychain)
2.Полагаю, что да .файл p12, полученный при экспорте закрытого ключа
3.перейдите на вкладку Мои сертификаты в разделе связка ключей.
Просто нажмите на свой сертификат dev / prod для APN.it должен показывать закрытый ключ, связанный с ним
4.Щелкните правой кнопкой мыши и Экспортный сертификат В.формат p12
Вот и все .файл p12 !!