Невозможно экспортировать производственный push-сертификат Apple в формате .p12

172

Я использую в своем заявлении дирижабль Urban для push-уведомлений. Итак, мне нужно скачать push-сертификат SSL с портала разработчиков Apple. После загрузки я добавил, что в брелок доступа. Но для сертификата не был создан закрытый ключ. Когда я попытался щелкнуть правой кнопкой мыши и экспортировать сертификат, я не смог экспортировать его как файл .p12 , так как расширение файла .p12 было отключено при сохранении. Я не могу прикрепить скриншоты здесь из-за меньшей репутации.

Кто-то, пожалуйста, скажите мне, где проблема здесь. Как мне это сделать?

Рашми Ранджан Маллик
источник

Ответы:

577

Оказывается, все, что вам нужно сделать, это выбрать «Мои сертификаты» на левой панели, и он включает опцию .p12.

Мэтт Привман
источник
32
кажется, поскольку нет закрытого ключа, сертификат не указан в списке «мои сертификаты». это только под «сертификатами».
commonpike
3
Иногда вам нужно перезапустить приложение цепочки для ключей к вашему сертификату, чтобы появиться.
Борж
1
Та же проблема, что и у @commonpike, отсутствует в списке. jdev112388 ответ правильный. Похоже, Apple снова изменила положение вещей
Джоэл
6
Другое дело: вы должны генерировать, если с той же машины. На самом деле, вы должны сгенерировать запрос на подпись сертификата из того же KEYCHAIN!
Грег
2
если это не ошибка, то есть странная особенность , которую я когда - либо слышал ...
quemeful
96

В моем случае я сделал файл .cer параметром «system», а не параметром «login». затем я перемещаю файл .cer из «system» в «login», затем нажимаю «My Certificates», затем экспортирую .p12 в порядке ..

откровенный
источник
8
Странно, но это правда
ED-209
1
WTF! Абсолютно сумасшедший, но работал на меня тоже. Также появляется стрелка раскрывающегося списка и закрытый ключ. Большое спасибо!
AlbertoC
Действительно переживаю, что происходит с 2 часа !! Ты спас меня. Большое спасибо.
калпа
Я сделал то же самое и смог экспортировать .p12. Спасибо. Я думал отозвать это и сделать это с других машин, но это работает.
Маниш Нахар
Это не сработало для меня. Я все еще не вижу никаких сертификатов в разделе «Мои сертификаты». Я создал совершенно новый файл сертификата для подписи. Загрузил это на портал разработчиков Apple, чтобы загрузить сертификат APNS. Я дважды щелкнул по нему, но он появляется только в разделе «Сертификаты». Любые идеи?
Назар Медейрос
29

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

Похоже, что, возможно, кто-то еще запросил push-сертификат, который вы пытаетесь загрузить, или вы запросили его на другом компьютере. Если вы не можете найти закрытый ключ, вам нужно будет создать новый запрос сертификата и загрузить его через портал разработчика.

LXT
источник
Но одно ... Если я все равно получу закрытый ключ, как я могу интегрировать его с существующим push-сертификатом?
Рашми Ранджан Маллик
1
Вы должны попросить любого, кто имеет закрытый ключ, экспортировать его и отправить вам. Затем вы можете добавить его в свою цепочку для ключей, которая с помощью вашего push-сертификата позволит вам создать файл p12.
13:00
Сертификат все еще не отображается в «Мои сертификаты», когда я полностью делаю запрос на тот же MacBook с самого начала.
Назар Медейрос
16

Чтобы экспортировать как p12, вам нужно либо сгенерировать сертификат на своем компьютере, либо иметь ключ, который использовался для его создания на вашем компьютере.

Чтобы убедиться, что это будет работать:

  1. Войдите в Apple's Dev Center

  2. Перейдите на портал обеспечения или сертификаты, идентификаторы и профили

  3. Перейдите в раздел «Сертификаты» и создайте службу Apple Push Notification SSL. Здесь вы будете руководствоваться процессом создания сертификата.

  4. После загрузки сгенерированного сертификата установите его в цепочку для ключей (дважды щелкните файл сертификата или перетащите его в окно цепочки для ключей.

  5. Затем выберите «Сертификаты» на левой панели. Щелкните правой кнопкой мыши сертификат, который вы хотите экспортировать, и там появится опция p12.

Примечание: его не будет, если вы не сгенерировали сертификат на своем компьютере.

jcity
источник
1
Ключевым моментом здесь является то, что вы генерируете его со своей машины. На самом деле, вы должны сгенерировать запрос на подпись сертификата из того же KEYCHAIN!
Грег
А помощник по сертификатам всегда использует цепочку ключей, которая была установлена ​​по умолчанию при создании CSR. Если вы хотите, чтобы ключи были сгенерированы в определенной цепочке для ключей, установите ее по умолчанию перед началом процесса CSR. Как только CSR создан, вы можете установить его обратно. При импорте сертификата, загруженного из Apple, импортируйте его в цепочку ключей, содержащую пару ключей.
quellish
10

Для меня вместо того, чтобы щелкнуть правой кнопкой мыши по основной строке сертификата в Keychain Access и выбрать Export, мне пришлось щелкнуть стрелку раскрывающегося списка рядом с сертификатом, который я пытался экспортировать, а затем щелкнуть правой кнопкой мыши на элементе под ним и выбрать Export, Затем вы фактически выбираете часть с закрытым ключом вместо части с открытым ключом.

hvaughan3
источник
1
Чтобы стрелка была видимой, мне нужно было установить «Категория» на «Сертификаты» вместо «Все элементы»
Dakusan
именно. щелчок правой кнопкой мыши на самом сертификате не приводит к
Константин Салаватов
9

В дополнение к проверке того, что сертификат был выдан по запросу сертификата от Keychain Access -> Certificate Assistant на том же компьютере, убедитесь, что полученный файл .cer установлен в правильную цепочку ключей.

Лучший способ сделать это - выбрать подходящую цепочку для ключей под левыми цепочками для ключей, скорее всего, «войти», убедиться, что в разделе «Категория» выбрано «Мои сертификаты», а затем перетащить файл .cer в область основного списка файлов.

Gavin
источник
Спасибо @Gavin за упоминание «выберите подходящую цепочку ключей». Я просто дважды щелкнул файл cer, и он всегда находился в цепочке ключей системы.
высоковольтное
Это не сработало для меня. Я все еще не вижу никаких сертификатов в разделе «Мои сертификаты». Я создал совершенно новый файл сертификата для подписи. Загрузил это на портал разработчиков Apple, чтобы загрузить сертификат APNS. Я дважды щелкнул по нему, но он появляется только в разделе «Сертификаты». Любые идеи?
Назар Медейрос
4

Убедитесь, что вы выбираете закрытый ключ, а не открытый ключ, потому что у вас, вероятно, есть оба типа в списке.

user2387149
источник
0

Вы можете использовать инструмент инициатора Onesignal для создания push-сертификата SSL. Это бесплатно и делает все немного запутанным для вас.

Он будет отзывать ваш текущий при его создании, поэтому важно быть быстрым при загрузке его в соответствующее место, если вы живы.

Это работало со мной для push-уведомлений OneSignal, но я не вижу причин, почему это не будет работать для других push-уведомлений.

trees_are_great
источник