Як створити сертифікат P12 для розповсюдження iOS


104

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

Я також спробував завантажити їх у Keychain Access. Я читав, що ви можете експортувати їх як P12 звідти, але коли я роблю імпорт, вони ніде не з’являються.

Відповіді:


127

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


12
Не звертай уваги; з'ясував це. Не дивно, що люди мають такі проблеми з цим ... це заплутано!
RobG

14
Було б добре, але p12 для мене заграє сірим кольором :(
Роб

14
@Rob вам потрібно вибрати приватний ключ, а не весь серт. У Брелоках у верхньому лівому куті виберіть "Увійти", потім під категорією виберіть "сертифікати", ви побачите, що у вас є стрілка краплі зараз, натисніть її, і приватний ключ покаже клацання правою кнопкою миші та експортує шапку як .p12
tutts

6
Я також не отримую випадаючого варіанту. Після завантаження я двічі клацнув сертифікатом, і він відображається в брелоку входу, але не під приватним ключем. Я бачу це лише під Сертифікатами, між ключем та сертифікатом немає зв’язку, який я бачу.
setherj

6
те ж саме. Жодного спаду, 12 сірого
кольору

76

.p12 файли використовуються для публікації програми в Apple App Store

A. Створіть CSR-файл (.certSigningRequest)

  1. Відкрийте доступ до брелоків з утиліти
  2. На панелі інструментів Keychain Access виберіть Keychain Access -> Preference
  3. У спливаючому вікні виберіть вкладку Сертифікати
  4. Встановіть "Протокол статусу онлайн-сертифіката" та "Список відкликань сертифіката" на "Вимкнено"
  5. Закрийте це вікно
  6. Тепер на панелі інструментів відкрийте доступ Keychain> Assistant Certificate> Запит сертифіката від органу сертифікації
  7. Введіть електронну адресу та загальне ім’я, яке ви використовували для реєстрації в програмі розробника iOS
  8. Зберігайте порожню електронну пошту CA та виберіть "Збережено на диску" та "Дозвольте вказати інформацію про ключові пари"
  9. Клацніть Продовжити
  10. Виберіть ім'я файлу та місце призначення на жорсткому диску
  11. Клацніть Зберегти
  12. У наступному вікні встановіть значення " Розмір ключа" на "2048 біт"
  13. Встановіть "Алгоритм" на "RSA"
  14. Клацніть Продовжити

Це створить і збереже файл certSigningRequest (CSR) на вашому жорсткому диску. Публічний та приватний ключ також будуть створені в Keychain Access із введеним загальним іменем.

B. Створіть файл ".cer" в обліковому записі розробника iOS

  1. Увійдіть до облікового запису розробника Apple. Натисніть "Сертифікати, ідентифікатори та профілі"
  2. Натисніть "Надання профілів"
  3. У розділі «Сертифікати» натисніть «Виробництво»
  4. Натисніть кнопку "Додати" (+) у верхньому правому куті основної панелі
  5. Тепер виберіть "App Store і Ad Hoc"
  6. Клацніть Продовжити
  7. Клацніть «Вибрати файл» та знайдіть файл CSR, який ви створили зі свого жорсткого диска
  8. Клацніть Створити
  9. Клацніть Завантажити, щоб отримати файл

C. Встановіть .cer та генеруйте .p12 сертифікат

  1. Знайдіть завантажений файл .cer та двічі клацніть
  2. Встановіть спадне меню "Вхід" та натисніть кнопку Додати
  3. Відкрийте KeyChain Access, і ви знайдете профіль, створений на етапі A
  4. Ви можете розгорнути профіль "приватного ключа" (показує доданий сертифікат)
  5. Виберіть лише ці два елементи (не відкритий ключ)
  6. Клацніть правою кнопкою миші та натисніть "Експортувати 2 елементи ..." зі спливаючого вікна
  7. Тепер переконайтесь, що формат файлу ".p12", і виберіть ім'я файлу та призначення на вашому жорсткому диску
  8. Клацніть Зберегти. Тепер вам буде запропоновано встановити пароль, але збережіть їх обоє
  9. Натисніть кнопку ОК. Тепер у вас на жорсткому диску є файл .p12

Зверніть увагу, що якщо проблема не зникає, спробуйте також нижче:

Якщо ваш брелок присутній в iCloud, тоді видаліть увесь вміст брелка з iCloud та зробіть нове налаштування в iCloud. Це повинно працювати.


Я випадково видалив свій приватний ключ із ке-ланцюга. тому зараз я не можу бачити приватний ключ під сертифікатом. у мене файл CSR, як знову встановити приватний ключ з CSR?
Авіджіт Нагаре

1
Я дійсно важко розібрався з яблучним процесом отримання файлу .p12, згенерованого, оскільки я хлопець з Windows Phone, і ця публікація справді допомогла мені зрозуміти це.
Мухаммед Аамір К

1
Дуже корисні інструкції. Дуже дякую. Це заощадило багато часу.
Алікс

Чому слід вимкнути "Протокол статусу онлайн-сертифіката", а інший -
Нейт

1
Я вирішив це питання. Щоб пояснити вам, що я зробив: переконайтеся, що ваша брелок не відображається в iCloud. Після того, як він там є, є ризик отримати проблему вище. Я деінсталював усе, зробив нове налаштування без використання даних у своєму iCloud, тоді воно спрацювало.
Назар Медейрос

32

Гаразд, проблема вирішена! здається, що коли я двічі клацну на сертифікаті, він автоматично встановлює його в брелок SYSTEM - я не знаю чому. Тому замість цього я просто перетягую сертифікат у брелок ВХОД, і тоді все добре. Завдяки цій статті -> Додавання сертифікатів до брелоку та генерування формату файлу .p12 - alon rosenfeld 10 місяців тому


1
Ух ти. Я витратив години, намагаючись розібратися в цьому. Я би витрачав ще тиждень, якби не ця відповідь.
B Сім

1
Дуже дякую. Я витрачав години, намагаючись зрозуміти це.
SaltedBlowfish

1
Так, витрачено витрачені години часу, зекономили :)
Сахан

29

Ви не отримаєте опцію розширення, якщо не відфільтруєте, вибравши (Сертифікати) з нижнього кута ключової ланцюга



4

Щоб отримати ваш файл p12, йдіть цим шляхом ..

Крок 1. У XCode > Перейти до налаштувань проекту > Загальні > Підписання розділу> Підписання сертифікату

Перегляньте, який сертифікат ви використовуєте для цього додатка, як показано на зображенні нижче

введіть тут опис зображення

Крок 2. Відкрийте брелок > у лівому нижньому розділі категорії > Сертифікати

Шукайте сертифікат і відкрийте дитину, натиснувши стрілку вниз, як показано на зображенні

введіть тут опис зображення

Крок 3. Клацніть правою кнопкою миші та експортуйте як "Certificates.p12", вказавши свій пароль, наприклад. "123456"


У мене немає цієї стрілки для розширення
Назар Медейрос

3

Для тих, хто все ще не має цієї проблеми, рішенням для мене було НЕ вибрати обидва і "Експортувати 2 елементи" (ключ і сертифікат), а просто експортувати сертифікат, який ВИНАГО містить ключ. Станом на 2016 рік, я вважаю, що це зробити так, оскільки попередні завантаження, які працювали з експортом 2 елементів, більше не працюють.


Я не можу експортувати лише сертифікат як p12 - ви впевнені, що це правильний шлях?
Сесіль Родрігес

Те ж саме. Це дуже важливо.
Гаутам Джайн
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.