Как создать сертификат 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 года я думаю, что это способ сделать это, потому что предыдущие загрузки, которые работали с экспортом, больше не работают.
Ответ 6
Для всех, у кого есть опция P12 серого/серого цвета:
Убедитесь, что вы находитесь в категории "Мои сертификаты" или "Сертификаты" в Keychain Access.
https://sailthru.zendesk.com/hc/en-us/articles/115000032546-Can-t-export-my-certificate-in-p12-format
Ответ 7
Чтобы получить файл p12, идите по этому пути..
Шаг 1. В XCode > выберите " Настройки проекта" > " Основные" > " Подпись "> " Подписание сертификата".
Посмотрите, какой сертификат вы используете для этого конкретного приложения, как показано на рисунке ниже
![enter image description here]()
Шаг 2. Откройте цепочку ключей > в левом нижнем разделе категории > Сертификаты
Найдите сертификат и откройте ребенка, нажав на стрелку вниз, как показано на рисунке.
![enter image description here]()
Шаг 3. Щелкните правой кнопкой мыши и экспортируйте как "Certificates.p12", указав свой пароль, например. "123456"