Поддержание идентификационных данных подписания и сертификатов

Подписывание кода Ваше приложение позволяет пользователям положить, что Ваше приложение было создано источником, известным Apple и что в это не вмешались. Все приложения для iOS и большинство приложений Mac должны быть кодом, подписанным и настроенным, чтобы запуститься на устройстве, быть распределенными для тестирования или быть представленными хранилищу. Подписывание кода использует криптографическую технологию для снабжения цифровой подписью приложения и пакета установщика. Вы создаете идентификационные данные подписания — сохраненный в Вашей цепочке для ключей — и сертификаты — сохраненный в Задействованном Центре — чтобы подписать и настроить Ваше приложение. Эти активы однозначно определяют Вас или Вашу команду, таким образом, важно бережно хранить их. В этой главе рассматривается общих задач, которые Вы выполняете, чтобы защитить и поддержать Ваши идентификационные данные подписания и сертификаты во время жизни Вашего проекта.

Для типов сертификатов Вы используете, чтобы разработать, протестировать, и распределить Ваше приложение, обратиться к Вашим Сертификатам Подписания подробно.

О подписании идентификационных данных и сертификатов

Подписывание кода, которое Ваше приложение позволяет операционной системе идентифицировать, кто подписал Ваше приложение и проверять, что Ваше приложение не было изменено, так как Вы подписали его. Исполняемый код Вашего приложения защищен его подписью, потому что подпись становится недопустимой, если изменяется какой-либо исполняемый код в комплекте приложений. Обратите внимание на то, что ресурсы, такие как изображения и файлы пера не подписываются; поэтому, изменение в этих файлах не лишает законной силы подпись.

Подписывание кода используется в сочетании с Вашим Приложением ID, настраивая профиль и права, чтобы гарантировать что:

Подписывание кода также позволяет подписи Вашего приложения быть удаленной и оставленной доверяемым источником. Например, Вы подписываете свое приложение прежде, чем представить его хранилищу, но Apple оставляет его прежде, чем распределить его клиентам. Кроме того, можно оставить и представить полностью протестированную сборку разработки приложения к хранилищу.

XCode использует Ваши идентификационные данные подписания для подписания приложения во время процесса сборки. Эти идентификационные данные подписания состоят из пары общедоступной с закрытым ключом тот Apple проблемы. Пара общедоступная с закрытым ключом сохранена в Вашей цепочке для ключей и используется криптографическими функциями для генерации подписи. Сертификат, сохраненный в Вашей учетной записи разработчика, содержит просто открытый ключ. Промежуточный сертификат также требуется, чтобы быть в Вашей цепочке для ключей, чтобы гарантировать, что Ваш сертификат выпущен центром сертификации.

Подписание требует, чтобы у Вас были и идентификационные данные подписания и промежуточный сертификат, установленный в Вашей цепочке для ключей. При установке XCode промежуточные сертификаты Apple добавляются к цепочке для ключей для Вас. Вы используете XCode, чтобы создать Ваши идентификационные данные подписания и подписать Ваше приложение. Ваши идентификационные данные подписания добавляются к Вашей цепочке для ключей, и соответствующий сертификат добавляется к Вашей учетной записи в Задействованном Центре.

Идентификационные данные подписания используются для подписания приложения или пакета установщика. Сертификат разработки идентифицирует Вас, как член команды, в профиле настройки разработки, позволяющем приложениям, подписанным Вами запускаться на устройствах. Сертификат распределения идентифицирует Вашу команду, или организация в настройке распределения профилируют, и позволяет Вам представлять свое приложение хранилищу. Только агент команды или администратор могут создать сертификат распределения. Вы также используете различные сертификаты разработки и распределения для подписания приложений Mac и iOS. Для полного списка типов сертификата обратитесь к Своим Сертификатам Подписания подробно.

Для компании у других членов команды есть свои собственные идентификационные данные подписания, установленные на их компьютерах Mac. Задействованный Центр содержит репозиторий для всех объединенных активов команды, но не хранит ни одного из закрытых ключей.

../Art/certificates_2x.png

Поскольку закрытый ключ сохранен локально на Вашем Mac, защитите его, поскольку Вы были бы пароль учетной записи. Сохраните безопасное резервное копирование своей пары общедоступной с закрытым ключом. Если закрытый ключ потерян, необходимо будет создать полностью новые идентификационные данные для подписания кода. Хуже, если у кого-то еще есть Ваш закрытый ключ, то лицо может быть в состоянии исполнить роль Вас. В неправильных руках кто-то мог бы попытаться распределить приложение, содержащее вредоносный код. Мало того, что это могло заставить приложение быть отклоненным, это могло также означать, что Ваши учетные данные разработчика могли быть отменены Apple. Закрытые ключи сохранены только в цепочке для ключей и не могут быть получены, если потеряно.

Если Вы хотите к элементу кода свое приложение с помощью другого Mac, Вы экспортируете свой профиль разработчика на Mac, Вы раньше создавали Ваши сертификаты и импортировали его на другом Mac. Можно также совместно использовать сертификаты распределения среди многократных агентов команды, использующих эту функцию. (Члены команды не должны совместно использовать сертификаты разработки.)

Просмотр подписания идентификационных данных и настройки профилей

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

Просмотреть реквизиты счета

  1. Выберите Xcode> Preferences.

  2. Нажмите Accounts наверху окна.

  3. Выберите команду, Вы хотите просмотреть, и нажать View Details.

    ../Art/2_aboutaccountsprefs_2x.png

    В диалоговом окне, появляющемся, просмотрите свои идентификационные данные подписания и настройку профилей.

    ../Art/12_viewdetails2_2x.png
  4. Нажмите Done.

Запрос идентификационных данных подписания

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

Для компании член команды запрашивает его или ее сертификат разработки с помощью XCode, но загружает и устанавливает его позже, после того, как это будет утверждено, как описано в Утверждении Сертификатов Разработки. Только агент команды или администратор могут создать сертификат распределения. Только агент команды может создать Разработчика сертификат ID. Если у Вас есть членство компании, считайте Управление Вашей Командой в Задействованном Центре описания ролей команды и задач, которые агенты команды выполняют от имени членов команды.

XCode просит создавать сертификаты разработки для Вас при необходимости в них. Например, когда Вы присваиваете свой проект команде или создаете команду, настраивающую профиль, как описано в Конфигурировании Идентификационных данных и Настроек Команды, диалоговое окно могло бы казаться спрашивающим, если XCode должен создать сертификат для Вас. Из-за этого Вы обычно запрашиваете сертификаты распределения с помощью окна Xcode Preferences.

Запрашивать идентификационные данные подписания

  1. В окне Xcode Preferences нажмите Accounts.

  2. Выберите команду, Вы хотите использовать, и нажать View Details.

    ../Art/12_viewdetailsbutton_2x.png
  3. В диалоговом окне, появляющемся, выберите тип сертификата, который Вы хотите создать путем нажатия кнопки Add (+) ниже таблицы Signing Identities.

    Для описания каждого типа сертификата обратитесь к Таблице 13-2.

    ../Art/12_createdistributioncert_2x.png
  4. В Идентификационных данных Подписания нажимает «OK» Сгенерированное диалоговое окно, появляющееся.

    Новые идентификационные данные подписания появляются в таблице Signing Identities.

    ../Art/12_viewdetails2_2x.png

    Член команды, возможно, должен ожидать до агента команды или администратора утверждает запрос.

  5. Для возврата к предпочтениям Учетных записей нажмите Done.

Можно теперь экспортировать идентификационные данные подписания для создания резервного копирования, как описано в Экспорте Профиля Разработчика.

Проверка Ваших шагов

Проверьте, что Ваши сертификаты корректны и готовы к употреблению. Сертификаты должны быть допустимыми для подписания приложения — и для приложения Mac, для подписания пакета установщика.

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

Проверка Используя задействованный центр

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

Проверять сертификаты подписания с помощью Задействованного Центра

  1. В Сертификатах, Идентификаторах и Профилях, выбирают Certificates.

  2. В разделе Certificates выберите Development или Production в зависимости от типа сертификата, который Вы хотите проверить.

    Имя, введите, и дата истечения срока сертификата должна соответствовать информацию, которую Вы просматриваете в XCode.

    ../Art/12_portalcerts1_2x.png

Проверка Используя доступ цепочки для ключей

Доступ цепочки для ключей показывает закрытые и открытые ключи для каждых из Ваших идентификационных данных подписания.

Проверять идентификационные данные подписания с помощью Доступа Цепочки для ключей

  1. Доступ Цепочки для ключей запуска расположился в /Applications/Utilities.

    Когда Вы запрашиваете сертификат разработки или распределения с помощью XCode, сертификат автоматически установлен в цепочке для ключей входа в систему.

  2. На левой панели выберите «вход в систему» в разделе Keychains и выберите Certificates в разделе Category.

    Ваши сертификаты разработки и распределения появляются в категории Сертификатов в Доступе Цепочки для ключей. Имя сертификата разработки начинается с текста “Разработчик iPhone” для Программы Разработчика iOS и “Разработчика Mac” для Программы Разработчика Mac, сопровождаемый Вашим именем (сертификаты разработки принадлежат лицу).

    ../Art/12_keychaincerts_2x.png../Art/12_keychaincerts_2x.png

    Другие типы сертификатов также появляются в категории Сертификатов Доступа Цепочки для ключей.

  3. Проверьте, что существует треугольник раскрытия налево от сертификата.

    При щелчке по треугольнику раскрытия рядом с именем сертификата закрытый ключ появляется. Если треугольник раскрытия не появляется, Вы пропускаете свой закрытый ключ. (Читайте, Закрытый ключ для Ваших Идентификационных данных Подписания Отсутствует для устранения этой проблемы.)

    ../Art/12_keychaincerts2_2x.png../Art/12_keychaincerts2_2x.png
  4. Проверьте, что сертификаты допустимы.

    При выборе сертификата зеленый круг, содержащий галочку, появляется в Доступе Цепочки для ключей выше списка сертификатов. Текст рядом с галочкой должен считать “Этот сертификат, допустимо”.

Поиск и устранение неисправностей

Если сертификаты, показанные в Доступе XCode и Цепочки для ключей, не соответствуют Ваши сертификаты в Задействованном Центре, считайте Проблемы Сертификата для получения информации о том, как разрешить расхождения.

Запрос дополнительного разработчика сертификаты ID

Разработчик сертификаты ID используется для распределения приложения за пределами App Store Mac. Создайте своего Разработчика сертификаты ID, вместе с другими типами сертификатов, с помощью XCode, как описано в Запросе Идентификационных данных Подписания. Если Вы хотите больше Разработчика сертификаты ID, можно создать до пяти из каждого типа с помощью Задействованного Центра.

Создать Разработчика сертификат ID

  1. В Сертификатах, Идентификаторах и Профилях, выбирают Certificates.

  2. В соответствии с Сертификатами, выберите All.

  3. Нажмите кнопку Add (+) в верхнем правом углу.

  4. Выберите Developer ID при Производстве и нажмите Continue.

    ../Art/12_create_developerID_certificate_2x.png
  5. Выберите тип сертификата — Разработчика Приложение ID или Разработчик Установщик ID — и нажмите Continue.

  6. Следуйте инструкциям, чтобы создать сертификат подписывая запрос (CSR) с помощью Доступа Цепочки для ключей и нажать Continue.

  7. Нажмите Choose File.

    ../Art/12_create_developerID_certificate2_2x.png
  8. Выберите файл CSR (с a .certSigningRequest расширение), и нажимают Choose.

  9. Нажмите Generate.

  10. Нажмите Download.

    Файл сертификата появляется в Вашем Downloads папка.

Для установки Разработчика сертификат ID в цепочке для ключей дважды щелкните по загруженному файлу сертификата (с a .cer расширение). Разработчик сертификат ID появляется в Моей категории Сертификатов в Доступе Цепочки для ключей.

Установка недостающих промежуточных центров сертификации

Для использования сертификатов корректный промежуточный сертификат должен быть в цепочке для ключей. Промежуточный сертификат гарантирует, что Ваши сертификаты были выпущены доверяемым источником. Промежуточный сертификат, названный Apple Глобальный Центр сертификации Отношений Разработчика, установлен в Вашей системной цепочке для ключей при установке XCode. Промежуточный сертификат для Разработчика сертификаты ID вызывают Разработчиком Центром сертификации ID. При случайном удалении промежуточного сертификата можно установить его снова.

Сначала попытайтесь обновить свои профили настройки в XCode, как описано в Обновлении Профилей Настройки в XCode, установить недостающие промежуточные сертификаты. Если это не работает на Вас, загрузите и установите недостающий промежуточный сертификат.

Устанавливать недостающий промежуточный сертификат

  1. Перейдите в http://www .apple.com/certificateauthority.

  2. Нажмите «Download certificate» в соответствии с Промежуточными Сертификатами Apple для промежуточного сертификата, который Вы пропускаете.

    Файл сертификата, с a .cer расширение, появляется в Вашей папке Downloads.

    ../Art/12_download_certificate_authority.png../Art/12_download_certificate_authority.png
  3. Дважды щелкните по файлу сертификата для установки его в системной цепочке для ключей.

Экспорт и импорт сертификатов и профилей

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

Файл экспорта, названный профилем разработчика, содержит следующие активы команды:

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

Экспорт профиля разработчика

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

Для экспорта разработчика считают активы

  1. Выберите Xcode> Preferences.

  2. Нажмите Accounts наверху окна.

  3. Щелкните по Кнопке действий (значок имущества направо от кнопки Delete) в нижнем левом углу и выберите Export Accounts из всплывающего меню.

    ../Art/12_exportdeveloperprofile_2x.png../Art/12_exportdeveloperprofile_2x.png
  4. Введите имя файла в поле Save As и пароль в обоих поля Password и Verify.

    Файл шифруется и защищен паролем.

    ../Art/12_exportdeveloperprofile2_2x.png../Art/12_exportdeveloperprofile2_2x.png
  5. Нажмите Save.

    Файл сохранен к расположению, которое Вы указали с a .developerprofile расширение.

  6. В диалоговом окне, появляющемся, нажать «OK».

Экспорт выбранных сертификатов

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

Экспортировать выбранные сертификаты

  1. Выберите Xcode> Preferences.

  2. Нажмите Accounts наверху окна.

  3. Выберите команду, Вы хотите просмотреть, и нажать View Details.

    ../Art/2_aboutaccountsprefs_2x.png
  4. Выберите сертификаты, которые Вы хотите экспортировать в таблице Signing Identities.

  5. Выберите Export из всплывающего меню Действия ниже таблицы Signing Identities.

    ../Art/12_exportcertificates_2x.png
  6. Введите имя файла в поле Save As и пароль в обоих поля Password и Verify.

    Файл шифруется и защищен паролем.

  7. Нажмите Save.

    Файл сохранен к расположению, которое Вы указали с a .p12 расширение.

  8. Нажмите Done.

Также можно экспортировать сертификаты с помощью security(1) утилита командной строки.

Импорт профиля разработчика

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

Для импорта разработчика считают активы

  1. Выберите Xcode> Preferences.

  2. Нажмите Accounts наверху окна.

  3. Щелкните по Кнопке действий (значок имущества) в нижнем левом углу и выберите Import Accounts из всплывающего меню.

    ../Art/12_importdeveloperprofile_2x.png
  4. Найдите и выберите файл, содержащий Ваш профиль разработчика, и нажмите Open.

    Файл должен иметь a .developerprofile расширение.

  5. Введите пароль, Вы раньше шифровали файл и нажимали «OK».

  6. В диалоговом окне, появляющемся, нажать «OK».

Удаление подписания идентификационных данных от цепочки для ключей

Вы удаляете идентификационные данные подписания из своей цепочки для ключей, если они недопустимы, больше не используемые (возможно, они принадлежат предыдущей команде, Вы были участником), или пропускают закрытый ключ и следовательно, не применимы. Если Вы пропускаете закрытый ключ и имеете резервное копирование Ваших идентификационных данных подписания, импортируете Ваш профиль разработчика, как описано в Импорте Вашего Профиля Разработчика, сразу после удаления идентификационных данных подписания. При удалении идентификационных данных подписания по некоторой другой причине считайте все шаги в Воссоздании Сертификатов и Обновлении Связанные Профили Настройки, чтобы избежать, чтобы подписывание кода вышло позже.

Удалить идентификационные данные подписания из Вашей цепочки для ключей

  1. Доступ цепочки для ключей запуска (расположенный в /Applications/Utilities).

  2. В разделе Category выберите Keys.

  3. Щелкните по треугольникам раскрытия для всех закрытых ключей для раскрытия связанных сертификатов.

    ../Art/12_tb_ios_remove_keys_2x.png../Art/12_tb_ios_remove_keys_2x.png
  4. Выберите все закрытые ключи, связанные с сертификатами, которые Вы хотите удалить.

    Поскольку, как распознать тип сертификата именем, как это появляется в Доступе Цепочки для ключей, обратитесь к Таблице 13-2.

  5. Выберите соответствующий открытый ключ для каждого закрытого ключа.

  6. Нажмите Delete (на клавиатуре), и когда диалоговое окно появляется, нажмите Delete.

  7. В разделе Category выберите Certificates.

  8. Выберите все сертификаты, которые Вы хотите удалить.

    Сертификаты не будут иметь закрытых ключей.

  9. Нажмите Delete (на клавиатуре), и когда диалоговое окно появляется, нажмите Delete.

Отмена сертификатов

Вы отменяете сертификаты, когда Вам больше не нужны они или когда Вы хотите воссоздать их из-за другой проблемы подписывания кода (обратитесь к Проблемам Сертификата для типов проблем, которые могут произойти). Вы также отменяете сертификаты, если Вы подозреваете, что они были скомпрометированы. Если Вы - администратор команды для компании, можно хотеть отменить сертификаты разработки о членах команды, больше не работающих над проектом. Отмена сертификатов может лишить законной силы профили настройки, таким образом, читает все шаги в Воссоздании Сертификатов и Обновлении Связанные Профили Настройки, чтобы избежать, чтобы подписывание кода вышло позже.

Отмена полномочий

Таблица 13-1 перечисляет типы сертификатов, которые может отменить каждый член команды. Отдельные разработчики являются агентом команды для своей команды с одним лицом, что означает, что у них есть разрешение отменить все типы сертификатов разработки и распределения за исключением обозначенного. Для компании любой член команды может отменить его или ее собственный сертификат разработки, но член команды может только отменить сертификаты распределения, если он или она - агент команды или администратор.

Табличный 13-1  сертификат Команды, отменяющий полномочия

Тип сертификата

Агент команды

Администратор команды

Член команды

Ваши сертификаты разработки:

  • Разработка iOS

  • Разработка Mac

../Art/checkmark_2x.png

../Art/checkmark_2x.png

../Art/checkmark_2x.png

Другой администратор команды и задействованные сертификаты:

  • Разработка iOS

  • Разработка Mac

../Art/checkmark_2x.png

../Art/checkmark_2x.png

../Art/x_2x.png

Сертификат агента команды:

  • Разработка iOS

  • Разработка Mac

../Art/checkmark_2x.png

../Art/x_2x.png

../Art/x_2x.png

Сертификаты распределения хранилища:

  • Распределение iOS

  • Распределение приложений Mac

  • Распределение установщика Mac

../Art/checkmark_2x.png

../Art/checkmark_2x.png

../Art/x_2x.png

Разработчик сертификаты ID:

  • Разработчик приложение ID

  • Разработчик установщик ID

../Art/x_2x.png

../Art/x_2x.png

../Art/x_2x.png

Сертификаты уведомления нажатия:

  • Разработка APNs iOS

  • Производство APNs iOS

  • Разработка APNs Mac

  • Производство APNs Mac

../Art/checkmark_2x.png

../Art/checkmark_2x.png

../Art/x_2x.png

Сертификат передачи:

  • Передайте идентификатор типа

../Art/x_2x.png

../Art/x_2x.png

../Art/x_2x.png

Вы не можете отменить Разработчика ID или сертификаты Сберкнижки с помощью Задействованного Центра. Вместо этого отправьте запрос к Apple в product-security@apple.com отменять эти типы сертификатов.

Если Apple отменяет Вашего Разработчика сертификат ID, пользователи больше не могут устанавливать приложения, подписанные с тем сертификатом. Вместо того, чтобы отменить Разработчика сертификат ID, можно создать дополнительного Разработчика сертификаты ID с помощью Задействованного Центра, как описано в Запросе Дополнительного Разработчика Сертификаты ID.

Отмена сертификатов разработки Используя XCode

Если сертификат разработки, который Вы хотите отменить, появляется в предпочтениях Учетных записей в XCode — это - сертификат, который Вы создали на своем Mac и находитесь в своей цепочке для ключей — можно отменить его с помощью XCode. Иначе, используйте Задействованный Центр для отмены сертификата, как описано в Отмене Сертификатов Используя Задействованный Центр. (При попытке отменить сертификат распределения с помощью XCode, Вы перенаправляетесь к Задействованному Центру.)

Отменять сертификат разработки с помощью XCode

  1. Выберите Xcode> Preferences и нажмите Accounts наверху окна.

  2. Выберите свою команду и нажмите View Details.

    ../Art/2_aboutaccountsprefs_2x.png
  3. В диалоговом окне, появляющемся, выберите сертификат разработки, Вы хотите отменить, щелкнуть по Кнопке действий (значок имущества направо от кнопки Add) ниже таблицы Signing Identities и выбрать Revoke из всплывающего меню.

    ../Art/12_revoke_certificate_2_2x.png
  4. В диалоговом окне, появляющемся, нажмите Done.

Отмена сертификатов Используя задействованный центр

Используйте Задействованный Центр для отмены всех типов сертификатов, принадлежащих команде. Например, отмените сертификаты разработки для других членов команды или сертификаты распределения, в которых Вы больше не нуждаетесь или не хотите воссоздать.

Отменять сертификат с помощью Задействованного Центра

  1. В Сертификатах, Идентификаторах и Профилях, выбирают Certificates.

  2. В соответствии с Сертификатами, выберите All.

  3. Выберите сертификат, Вы хотите отменить, и нажать Revoke.

    ../Art/12_tb_ios_certificates_2x.png
  4. В диалоговом окне, появляющемся, нажмите Revoke.

Замена истекла сертификаты

Когда Ваш сертификат разработки или распределения истечет, удалите его и запросите новый сертификат в XCode. Выполните те же шаги для воссоздавания сертификатов, как описано в Воссоздании Сертификатов и Обновлении Связанные Профили Настройки. Используйте Центр Доступа или Элемента Цепочки для ключей для просмотра дат истечения срока идентификационных данных подписания и сертификатов, как описано в Проверке Используя Задействованный Центр и Проверке Используя Доступ Цепочки для ключей.

Воссоздание сертификатов и обновление связанных профилей настройки

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

Существует несколько причин, Вы могли бы хотеть воссоздать свои сертификаты и обновление, связанное, настраивая профили. Например, Вы делаете это если:

Однако, если Вы испытываете сертификат, настройку, или создаете проблемы, рассматриваете Проблемы Сертификата сначала прежде, чем выполнить эти шаги, потому что удаление Ваших сертификатов необратимо.

Выберите сертификаты, которые Вы хотите воссоздать. Например, при испытании проблем, выполняющих приложение на устройстве Вы, возможно, только должны воссоздать свой сертификат разработки. Следует иметь в виду, что воссоздание сертификата распределения не влияет на Ваши сертификаты разработки или профили настройки разработки. Точно так же воссоздание сертификата разработки не влияет на Ваш сертификат распределения или профили настройки распределения.

Воссоздать Ваши сертификаты и обновление связало настраивающие профили

  1. Отмените сертификаты с помощью Задействованного Центра, как описано в Отмене Сертификатов.

    Настройка профилей, содержащих отменяемый сертификат, становится недопустимой. Например, при отмене сертификата разработки все профили настройки разработки, содержащие тот сертификат, становятся недопустимыми:

    ../Art/12_ios_invalid_profiles_2x.png
  2. Если необходимо, удалите идентификационные данные подписания для этих сертификатов от Вашей цепочки для ключей, как описано в Удалении Идентификационных данных Подписания от Вашей Цепочки для ключей.

    Если Вы отменяете свой собственный сертификат разработки или распределения, удаляете соответствующие идентификационные данные подписания из Вашей цепочки для ключей. Иначе, владелец сертификата должен удалить идентификационные данные подписания на его или ее Mac.

  3. Дополнительно, запросите новые сертификаты с помощью XCode, как описано в Запросе Идентификационных данных Подписания.

    При отмене сертификата разработки запрашивая, чтобы сертификат новой разработки или обновление настраивающих профилей в XCode, как описано в Обновлении Профилей Настройки в XCode, регенерировали команду, настраивающую профили, и они больше не кажутся недопустимыми в Задействованном Центре:

    ../Art/12_ios_invalid_profiles2_2x.png
  4. Удалите или регенерируйте другие типы настройки профилей, содержащих отменяемые сертификаты, как описано в Изменении Профилей Настройки в Задействованном Центре.

    XCode автоматически не регенерирует профили настройки распределения или профили настройки пользовательской разработки, Вы создаете Задействованный Центр использования.

  5. При изменении профилей настройки в Задействованном Центре обновите профили настройки в XCode, как описано в Обновлении Профилей Настройки в XCode.

  6. Если необходимо, установите измененные профили настройки на своих устройствах, как описано в Проверке и Удалении Профилей Настройки на Устройствах.

  7. Как только сертификаты восстанавливаются на основном Mac, экспортируют Ваш профиль разработчика, как описано в Экспорте Вашего Профиля Разработчика.

Если Вы восстанавливаете многократные компьютеры Mac, выполняете эти дополнительные шаги на других компьютерах Mac:

  1. Удалите идентификационные данные подписания из своей цепочки для ключей, как описано в Удалении Идентификационных данных Подписания от Вашей Цепочки для ключей.

  2. Импортируйте свой профиль разработчика, как описано в Импорте Вашего Профиля Разработчика, который Вы создали на исходном Mac.

Ваши сертификаты подписания подробно

Ваши идентификационные данные подписывания кода, сохраненные в Вашей цепочке для ключей, представляют Ваш iOS и учетные данные разработки программы и распределения Mac. Познакомьтесь с именами этих сертификатов, потому что они появляются в меню, и с типами сертификатов, потому что они появляются в списках, так, чтобы Вы случайно не удаляли их из своей цепочки для ключей или Задействованного Центра.

Существуют различные типы подписания сертификатов в различных целях. Сертификаты разработки идентифицируют лицо в Вашей команде и используются для выполнения приложения на устройстве. Во время разработки и тестирования, Вы обязаны подписывать все приложения для iOS, работающие на устройствах и приложениях Mac, использующих определенные службы приложения как Игровой Центр и iCloud.

Сертификаты распределения идентифицируют команду и используются, чтобы представить Ваше приложение хранилищу или для приложения Mac, распределить его за пределами хранилища. Если Вы - компания, сертификаты распределения могут быть совместно использованы членами команды, у которых есть разрешение представить Ваше приложение. Существуют многократные виды сертификатов распределения, каждый связанный с определенным методом распределения. Различные идентификационные данные подписывания кода также используются для приложений Mac и iOS.

Сертификаты подписания выпущены и авторизованы Apple. Необходимо было обеспечить промежуточный сертификат Apple, установленный в системной цепочке для ключей для использования сертификата; иначе, это недопустимо. Промежуточные сертификаты, предоставленные Apple и установленные XCode:

Обратитесь к Таблице 13-2 для отображения между типом сертификата, именем сертификата, как это появляется в Доступе Цепочки для ключей и цели каждого.

Задействованный Центр выводит на экран название команды (или имя лица) и тип для каждого сертификата. Предпочтения Учетных записей XCode выводят на экран тип сертификата в столбце Signing Identities. Доступ цепочки для ключей и всплывающее меню установки сборки Идентификационных данных Подписывания кода в XCode выводят на экран имя сертификата.

Существует один сертификат разработки Mac или iOS на члена команды. Поэтому имена сертификата разработки содержат имя лица. Все другие типы сертификатов принадлежат команде (совместно использованный многократными членами команды) и тем самым содержите название команды. Отдельные разработчики являются командой с одним лицом, и таким образом, Ваше имя и название команды являются тем же.

Табличные 13-2  типы Сертификата и имена

Тип сертификата

Имя сертификата

Описание

Разработка iOS

Разработчик iPhone: Имя Члена команды

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

Распределение iOS

Распределение iPhone: Название команды

Используемый, чтобы распределить Ваше приложение для iOS на заданных устройствах для тестирования или представить его App Store.

Разработка Mac

Разработчик Mac: имя члена команды

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

Распределение приложений Mac

Третья сторона приложение разработчика Mac: название команды

Используемый для подписания приложения Mac прежде, чем представить его App Store Mac.

Распределение установщика Mac

Третья сторона установщик разработчика Mac: название команды

Используемый, чтобы подписаться и представить Пакет Установщика Mac, содержа Ваше приложение со знаком, к App Store Mac.

Разработчик приложение ID

Разработчик приложение ID: название команды

Используемый для подписания приложения Mac прежде, чем распределить его вне App Store Mac.

Разработчик установщик ID

Разработчик установщик ID: название команды

Используемый, чтобы подписаться и распределить Пакет Установщика Mac, содержа Ваше приложение со знаком, вне App Store Mac.

Резюме

В этой главе Вы изучили, как поддержать Ваши идентификационные данные подписания разработки и распределения, которые Вы используете всюду по времени жизни Вашего приложения. Вы также изучили, как идентифицировать различные типы сертификатов в XCode, Доступе Цепочки для ключей и Задействованном Центре.