Как создать сертификат P12 для распространения iOS

У нас есть приложение iOS, чей сертификат push-уведомления истек, и мы пытаемся создать новый. Я создал новые сертификаты на портале Provisioning (ios_developer.cer, ios_distribution.cer) и загрузил их. Я выполнял инструкции здесь, в Stack Overflow, чтобы преобразовать его в PEM, а затем в файлы P12, но я застрял. Когда я пытаюсь преобразовать PEM в P12, он хочет получить секретный ключ, и я не знаю, где его получить.

Я также попытался загрузить их в Keychain Access. Я прочитал, что вы можете экспортировать их как P12, но когда я делаю Импорт, они не появляются нигде.

Ответ 1

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

Ответ 2

.p12 файлы используются для публикации приложения в Apple App Store

а. Создайте файл CSR (.certSigningRequest)

  • Открыть доступ к Keychain из служебных программ
  • На панели инструментов Keychain Access выберите Доступ к Keychain → Предпочтение
  • В раскрывающемся окне выберите вкладку "Сертификаты"
  • Установите "Протокол состояния сертификатов онлайн" и "Список отзыва сертификатов" на "Выкл."
  • Закрыть это окно
  • Теперь с панели инструментов откройте "Доступ к ключам" > "Ассистент сертификата" > "Запросить сертификат из центра сертификации"
  • Введите адрес электронной почты и общее имя, которое вы использовали для регистрации в программе разработчика iOS.
  • Сохранить CA Email пустым и выбрать "Сохранено на диск" и "Позвольте мне указать информацию о парах ключей"
  • Нажмите "Продолжить"
  • Выберите имя файла и пункт назначения на жестком диске
  • Нажмите "Сохранить"
  • В следующем окне установите значение "Размер ключа" в "2048 бит"
  • Установите "Алгоритм" на "RSA"
  • Нажмите "Продолжить"

Это создаст и сохранит ваш файл certSigningRequest (CSR) на ваш жесткий диск. Открытый и закрытый ключ также будет создан в Keychain Access с введенным общим именем.

В. Создайте файл ".cer" в учетной записи разработчика iOS

  • Вход в аккаунт разработчика Apple Нажмите "Сертификаты, идентификаторы и профили"
  • Нажмите "Профили профилей"
  • В разделе "Сертификаты" нажмите "Производство"
  • Нажмите кнопку "Добавить" (+) в правом верхнем углу главной панели.
  • Теперь выберите "App Store и Ad Hoc"
  • Нажмите "Продолжить"
  • Нажмите "Выбрать файл" и найдите файл CSR, сделанный с вашего жесткого диска.
  • Нажмите "Создать"
  • Нажмите "Загрузить", чтобы получить файл

С. Установить .cer и сгенерировать сертификат .p12

  • Найдите файл .cer, который вы загрузили, и дважды щелкните
  • Установите "Вход в систему" ​​в "Логин" и нажмите "Добавить"
  • Откройте KeyChain Access, и вы найдете профиль, созданный на шаге A
  • Вы можете развернуть профиль "приватного ключа" (показывает добавленный сертификат)
  • Выберите только эти два элемента (а не открытый ключ)
  • Щелкните правой кнопкой мыши и выберите "Экспортировать 2 элемента..." из всплывающего окна
  • Теперь убедитесь, что формат файла ".p12" и выберите имя файла и место назначения на вашем жестком диске.
  • Нажмите "Сохранить". Теперь вам будет предложено установить пароль, но сохраните эти оба пустых
  • Нажмите "ОК". Теперь у вас есть файл .p12 на вашем жестком диске.

Ответ 3

ОК, проблема решена! кажется, что, когда я дважды кликаю по сертификату, он автоматически устанавливает его в цепочке ключей SYSTEM - я не знаю почему. Поэтому вместо этого я просто перетаскиваю сертификат в цепочку ключей LOGIN, и тогда все хорошо. Благодаря этой статье → Добавление сертификатов в цепочку ключей и создание файла формата .p12 - alon rosenfeld 10 месяцев назад

Ответ 4

вы не получите опцию expand, если вы не фильтруете, выбирая (Сертификаты) из нижнего нижнего угла в цепочке ключей

Ответ 5

Для тех, кто все еще имеет эту проблему, решение для меня состояло в том, чтобы НЕ выбирать оба и "Экспортировать 2 элемента" (ключ и сертификат), а скорее экспортировать сертификат, который УЖЕ включает ключ. С 2016 года я думаю, что это способ сделать это, потому что предыдущие загрузки, которые работали с экспортом, больше не работают.

Ответ 7

Чтобы получить файл p12, идите по этому пути..

Шаг 1. В XCode > выберите " Настройки проекта" > " Основные" > " Подпись "> " Подписание сертификата".

Посмотрите, какой сертификат вы используете для этого конкретного приложения, как показано на рисунке ниже

enter image description here

Шаг 2. Откройте цепочку ключей > в левом нижнем разделе категории > Сертификаты

Найдите сертификат и откройте ребенка, нажав на стрелку вниз, как показано на рисунке.

enter image description here

Шаг 3. Щелкните правой кнопкой мыши и экспортируйте как "Certificates.p12", указав свой пароль, например. "123456"