Содержание
Как получить подпись для приложений iOS?
Чтобы создать подпись для приложений iOS, вам необходимо получить сертификат, идентификатор приложения и профиль обеспечения. Чтобы создавать сертификаты, идентификаторы приложений и профили обеспечения, вам необходимо зарегистрироваться в Программе разработчика Apple iOS или Программе разработчика Apple iOS Enterprise, если вы еще не зарегистрированы.
Чтобы зарегистрироваться как частное лицо или компания, перейдите на портал iOS Developer Program . Нажмите Enroll и следуйте инструкциям. Если у вас нет Apple ID, вам будет предложено создать его.
После регистрации, вам необходимо выполнить следующие шаги:
Создание сертификата распространения
Чтобы опубликовать приложение в App Store или распространить его на ограниченное количество устройств, необходимо подписать код с помощью профиля обеспечения распространения. Чтобы создать профиль обеспечения распространения, вам необходим сертификат распространения, подписанный Apple.
Вы можете создать сертификат распространения в iOS Dev Center.
Создание сертификата *p12 для пользователей Mac
1. Откройте приложение “Keychain Access” (в папке “Программы / Утилиты”).
2. Если вы еще не добавили сертификат в связку ключей, выберите “File” — «Import». Затем перейдите к файлу сертификата (файл .cer), который вы получили от Apple.
3. Выберите категорию “Keys” в “Keychain Access”.
4. Выберите закрытый ключ, связанный с вашим сертификатом разработки iPhone. Закрытый ключ определяется разработчиком iPhone: публичный сертификат, который в паре с ним.
5. Командой щелкните сертификат iPhone Developer и выберите «Export» iPhone Developer: Name».
6. Сохраните хранилище ключей в формате файла обмена личной информацией (*p12).
7. Вам будет предложено создать пароль, который будет использоваться при использовании хранилища ключей для подписи приложений или при передаче ключа и сертификата в этом хранилище ключей в другое хранилище ключей.
Создание сертификата *p12 для пользователей Windows
1. Загрузите и установите OpenSSL
2. Преобразуйте файл сертификата разработчика, полученный от Apple, в файл сертификата PEM. Для этого выполните следующую инструкцию командной строки из каталога bin OpenSSL : openssl x509 -in developer_identity.cer -inform DER -out developer_identity.pem -outform PEM
3. Если вы используете закрытый ключ из цепочки для ключей на компьютере Mac, преобразуйте его в ключ PEM: openssl pkcs12 -nocerts -in mykey.p12 -out mykey.pem
4. Теперь вы можете создать действительный файл *P12 на основе ключа и версии PEM сертификата разработчика iPhone:openssl pkcs12 -export -inkey mykey.key -in developer_identity.pem -out iphone_dev.p12
Для тестирования или распространения приложения iOS вамм потребуется Профиль обеспечения.
Для создания профиля обеспечения обратитесь к документации Apple.
Подписывание кода для iOS — Power Apps
Обратная связь
Twitter
LinkedIn
Facebook
Адрес электронной почты
-
Статья -
- Чтение занимает 2 мин
-
В этой статье вы узнаете, как подписывать код для iOS. Вам нужно будет подписать свое приложение для iOS, если вы выбрали iOS как одну из платформ при создании и сборки своего проекта упаковки.
Предварительные условия
Для начала вам потребуется предоставить следующую информацию:
- Идентификатор приложения
- UDID устройства (только для целей тестирования и разработки)
Вам также понадобится устройство macOS для подписывания кода для iOS.
Подготовьте свой компьютер Mac
Настройте свой компьютер Mac со следующей конфигурацией.
- Установите Xcode. Дополнительные сведения: Xcode
- Установите PowerShell для macOS. Дополнительная информация: Установка PowerShell на macOS
- Зарегистрируйтесь в Программа для разработчиков Apple
- Чтобы распространять свои приложения внутри организации, вам необходимо зарегистрироваться в Программа для корпоративных разработчиков Apple.
Создание идентификатора приложения
Войдите в свою учетную запись разработчика, перейдя в https://developer. apple.com и выбрав вкладку Учетная запись.
Перейдите в Сертификаты, идентификаторы и профили > Идентификаторы.
Выберите +, чтобы создать новый идентификатор.
Выберите Идентификаторы приложений, а затем выберите Продолжить.
Выберите тип как Приложение, а затем выберите Продолжить.
Зарегистрируйте идентификатор приложения:
- Описание — название вашего приложения.
- Идентификатор пакета — выберите Явный идентификатор пакета.
- Введите идентификатор пакета, который вы использовали во время создания проекта упаковки. Дополнительная информация: Идентификатор пакета
- Включите следующие возможности:
- Связанные домены
- iCloud
- Чтение тегов NFC
- Push-уведомления
- Выберите Продолжить.
Проверьте и зарегистрируйте идентификатор приложения.
Создайте сертификат распространения
Чтобы создать сертификат распространения, сначала создайте новый запрос на подпись сертификата.
Создайте запрос на подпись сертификата (CSR)
На компьютере Mac перейдите в папку Приложения > Служебные программы > откройте Доступ к цепочке ключей.
Выберите Доступ к цепочке ключей > Помощник по сертификатам > Запрос сертификата в центре сертификации.
Заполните Информация о сертификате, как описано ниже, а затем выберите Продолжить.
- В поле Адрес электронной почты пользователя введите свой адрес электронной почты Apple ID для идентификации с этим сертификатом.
- В поле Общее имя введите свое имя.
- В группе Запрос выберите Сохранено на диск.
- Сохраните файл на свой Mac.
Создайте сертификат распространения
Войдите в свою учетную запись разработчика в https://developer.apple.com, выбрав вкладку Учетная запись.
Перейдите в Сертификаты, идентификаторы и профили > Сертификаты.
Выберите +, чтобы создать новый сертификат.
Выберите App Store и Ad Hoc > Продолжить.
Примечание
Если у вас есть учетная запись корпоративного разработчика, у вас будет возможность создать сертификат корпоративного распространения.
Отправьте файл запроса на подписание сертификата (CSR), созданный на предыдущих шагах.
Выберите Продолжить и загрузите сертификат на свой Mac.
Дважды щелкните загруженный файл CER для установки в Доступ к цепочке ключей.
Запишите Имя сертификата (обычно Распространение iPhone: Название (идентификатор команды)). Это значение является удостоверением подписи кода, которое необходимо предоставить для подписи.
Добавьте все устройства, на которых необходимо установить iPA.
Войдите в свою учетную запись разработчика в https://developer.apple.com, выбрав вкладку Учетная запись.
Перейдите в Сертификаты, идентификаторы и профили > Устройства.
Выберите + для регистрации одного или нескольких устройств.
Введите Имя устройства и Идентификатор устройства (UDID).
Выберите Сохранить.
Совет
Вы также можете зарегистрировать несколько устройств, отправив список UDID.
Создайте профиль подготовки iOS
Войдите в свою учетную запись разработчика, перейдя в https://developer. apple.com и выбрав вкладку Учетная запись.
Перейдите в Сертификаты, идентификаторы и профили > Профили.
Выберите +, чтобы создать новый профиль.
Выберите Ad Hoc > Продолжить.
Примечание
Для производственного тестирования и разработки используйте метод распространения App Store.
Выберите идентификатор приложения, который вы создали ранее, а затем выберите Продолжить.
Выберите сертификат, который вы создали ранее, а затем выберите Продолжить.
Выберите все тестовые устройства, на которые вы хотите установить приложение, а затем выберите Продолжить.
Проверьте и назовите профиль подготовки. Запишите имя профиля подготовки.
Создайте и загрузите профиль на свой Mac.
Дважды щелкните, чтобы открыть загруженный файл (*.mobileprovision), чтобы зарегистрировать его в Xcode.
Скачайте и разархивируйте файл iOS-Archive.zip из центра приложений. При этом создается папка с именем Идентификатор пакета. В приведенном ниже примере идентификатором пакета является com.single.wrap.
Откройте терминал и измените каталог для разархивированной папки.
Введите
pwsh
для запуска PowerShell в терминале.Выполните
./SignAndGenerateIPA.ps1
со значениями параметров CodeSigningIdentity и ProvisioningProfilePath.После завершения сценария вы увидите созданный файл IPA. В этом примере com.single.wrap.ipa.
Установите файл IPA на зарегистрированные устройства, используя приложение Finder. Теперь вы также можете разместить его в службе распространения, такой как Центр приложений. Для распространения с помощью Microsoft Intune см. Добавление бизнес-приложения iOS/iPadOS в Microsoft Intune. Чтобы узнать, как предоставить приложению доступ к службе защиты приложений Intune, см. Предоставить вашему приложению доступ к службе защиты приложений Intune.
См. также
- Общие сведения о упаковке
- Подписывание кода на Android
Обратная связь
Отправить и просмотреть отзыв по
Этот продукт
Эта страница
Просмотреть все отзывы по странице
Процесс подписи кода приложения в iOS и iPadOS
Искать в этом руководстве
В iOS и iPadOS Apple обеспечивает безопасность приложений с помощью таких функций, как обязательная подпись кода, строгий вход разработчика и многое другое.
Обязательная подпись кода
После запуска ядра iOS или iPadOS оно определяет, какие пользовательские процессы и приложения могут быть запущены. Чтобы гарантировать, что все приложения получены из известного и утвержденного источника и не были подделаны, iOS и iPadOS требуют, чтобы весь исполняемый код был подписан с использованием сертификата, выданного Apple. Приложения, поставляемые с устройством, такие как Mail и Safari, подписаны Apple. Сторонние приложения также должны быть проверены и подписаны с использованием сертификата, выданного Apple. Обязательное подписание кода расширяет концепцию цепочки доверия от операционной системы к приложениям и помогает предотвратить загрузку неподписанных ресурсов кода сторонними приложениями или использование самоизменяющегося кода.
Как разработчики подписывают свои приложения
Разработчики могут подписывать свои приложения с помощью проверки сертификата (через программу Apple Developer Program). Они также могут встраивать фреймворки в свои приложения и проверять этот код с помощью сертификата, выданного Apple (через строку идентификатора команды).
Проверка сертификата: Чтобы разрабатывать и устанавливать приложения на устройства iOS или iPadOS, разработчики должны зарегистрироваться в Apple и присоединиться к программе Apple Developer Program. Реальная личность каждого разработчика, будь то физическое или юридическое лицо, проверяется Apple до выдачи сертификата. Этот сертификат позволяет разработчикам подписывать приложения и отправлять их в App Store для распространения. В результате все приложения в App Store были отправлены идентифицируемым лицом или организацией, что служит сдерживающим фактором для создания вредоносных приложений. Они также были проверены Apple, чтобы убедиться, что они в целом работают так, как описано, и не содержат очевидных ошибок или других заметных проблем. В дополнение к уже обсуждавшейся технологии этот процесс курирования дает пользователям уверенность в качестве приложений, которые они покупают.
Проверка подписи кода: iOS и iPadOS позволяют разработчикам встраивать фреймворки в свои приложения, которые могут использоваться самим приложением или расширениями, встроенными в приложение. Чтобы защитить систему и другие приложения от загрузки стороннего кода внутри их адресного пространства, система выполняет проверку подписи кода всех динамических библиотек, с которыми связывается процесс во время запуска. Эта проверка осуществляется с помощью идентификатора команды (Team ID), который извлекается из сертификата, выданного Apple. Идентификатор команды представляет собой 10-символьную буквенно-цифровую строку, например 1A2B3C4D5F. Программа может ссылаться на любую библиотеку платформы, поставляемую с системой, или любую библиотеку с тем же идентификатором команды в сигнатуре кода, что и основной исполняемый файл. Поскольку исполняемые файлы, поставляемые как часть системы, не имеют идентификатора группы, они могут связываться только с библиотеками, которые поставляются с самой системой.
Проверка проприетарных внутренних приложений
Подходящие компании также имеют возможность создавать проприетарные внутренние приложения для использования в своей организации и распространять их среди своих сотрудников. Предприятия и организации могут подать заявку на участие в программе Apple Developer Enterprise Program (ADEP). Для получения дополнительной информации и ознакомления с квалификационными требованиями посетите веб-сайт Apple Developer Enterprise Program. После того, как организация становится членом ADEP, она может зарегистрироваться, чтобы получить профиль обеспечения, который разрешает запуск собственных приложений на авторизованных ею устройствах.
Для запуска этих приложений у пользователей должен быть установлен профиль подготовки. Это помогает гарантировать, что только предполагаемые пользователи организации смогут загружать приложения на свои устройства iOS и iPadOS. Приложениям, установленным с помощью управления мобильными устройствами (MDM), неявно доверяют, поскольку связь между организацией и устройством уже установлена. В противном случае пользователи должны одобрить профиль подготовки приложения в настройках. Организации также могут запретить пользователям одобрять приложения от неизвестных разработчиков. При первом запуске любого проприетарного внутреннего приложения устройство должно получить положительное подтверждение от Apple о том, что приложение разрешено для запуска.
Дата публикации: 18 февраля 2021 г.
См. также Защита приложений и группы приложений в iOS и iPadOSАвтоматическая регистрация устройствОбзор безопасности управления мобильными устройствами
Максимальное количество символов:
250
Пожалуйста, не указывайте личную информацию в своем комментарии.
Максимальное количество символов — 250.
Спасибо за отзыв.
Подписание кода и инициализация iOS в двух словах | Себастьян Болдт | Разработка iOS-приложений
Я разрабатываю приложения уже более 3 лет, и одна вещь, которая меня до сих пор раздражает, — это Подписание кода и подготовка в iOS. Что такое Идентификаторы подписи ? Почему я должен создавать Provisioning Profiles и заботиться о таких вещах как разработчик? Если у вас нет хороших ответов на эти вопросы и вы действительно не хотите читать Apple Docs, мы надеемся, что это статья, которая раскрывает весь процесс для вас и для меня в качестве справочного материала менее чем за 5 минут.
Я уверен, что многие из вас могут быстро чему-то научиться, просто прочитав текст, но что мне действительно нравится, так это объяснять вещи наглядным способом с помощью прямоугольников и стрелок. Итак, самая большая проблема для меня заключается в том, что нет диаграммы или графика, в котором были бы отобраны все важные части и показано, как все работает вместе, в простой для понимания форме. Именно по этой причине я попытаюсь создать его в конце этого поста. Давайте начнем.
Во-первых, давайте соберем основные термины, на которые вы наткнетесь, пытаясь найти что-либо связанное с Подготовка и Подпись кода в Интернете.
- XCODE
- Центр участников
- КЕЙСКАЯ МАРТА
- Подписание IDITION
- Private & Public Key
- Профиль обеспечения
- Приложение ID
XCODE & CHED CENTER
. для создания и управления вашим приложением и ресурсами и загрузки их в магазин приложений . Это все, что вам нужно знать о Xcode, чтобы следовать этому сообщению. если вы хотите узнать больше об этом, нажмите здесь: Xcode
После регистрации в программе Apple Developer Program вы сможете войти в Member Cente r . Это место, где вы можете создать профилей обеспечения , идентификаторов приложений , сертификатов и т. д. Части Member Center напрямую связаны с Xcode. Например, вы можете просмотреть и создать свой Signing Identity или загрузить и обновить P rovisioning Profiles в настройках Xcode .
Идентификация подписи, открытый и закрытый ключ, приложение цепочки для ключей
Нам нужно прояснить термин Подписание . Подписание вашего приложения позволяет iOS определить, кто подписал ваше приложение, и убедиться, что ваше приложение не было изменено с тех пор, как вы его подписали. Идентификатор подписи состоит из пары открытого и закрытого ключей , которую Apple создает для вас. Думайте об открытом ключе как о механизме блокировки, поэтому вам нужно знать закрытый ключ, чтобы снова развернуть, разблокировать или декодировать данные.
Откуда берутся открытый и закрытый ключи и как запросить сертификат, содержащий их? Вся эта магия происходит, когда вы создаете Запрос на подпись сертификата (CSR) через приложение Keychain Access. Если вы это сделаете, приложение Keychain создаст закрытый ключ и файл certSigningRequest , которые вы затем загрузите в Apple. Apple подтвердит запрос и выдаст вам сертификат. Сертификат будет содержать открытый ключ, который можно загрузить в вашу систему. После того, как вы загрузили его, вам нужно поместить его в свой Приложение для доступа к связке ключей , дважды щелкнув его. Он используется криптографическими функциями для создания уникальной подписи для вашего приложения, которая в основном является вашим идентификатором подписи кода .
Сертификат также будет доступен через Member Center , но он будет содержать только открытый ключ, так что храните закрытый ключ в безопасности.
Промежуточный сертификат также должен быть в вашей связке ключей, чтобы гарантировать, что ваш разработчик или сертификат распространения выдан другим центром сертификации. Я знаю, это звучит немного запутанно, но вот как это работает. Он устанавливается автоматически при настройке Xcode в первый раз, поэтому в основном вам не нужно об этом заботиться, потому что он настраивается автоматически.
Provisioning Profile & App ID
Как мы знаем, Apple любит обеспечивать безопасность, поэтому невозможно установить приложение на любое устройство iOS, используя только сертификат. Вот где Появляются профили подготовки . Профиль подготовки должен быть установлен на каждом устройстве, на котором должен работать код вашего приложения. Каждый профиль обеспечения разработки будет содержать набор из сертификатов разработки iPhone, уникальных идентификаторов устройств и идентификатора приложения . Идентификатор приложения — это строка из двух частей, используемая для идентификации одного или нескольких приложений от одной группы разработчиков.
Устройства, указанные в профиле обеспечения разработки могут использовать для тестирования только те лица, чьи Сертификаты Развития включены в профиль. Одно устройство может содержать несколько профилей подготовки. Разница между профилями разработки и распространения заключается в том, что в профилях распространения не указаны идентификаторы устройств. Если вы хотите выпустить приложение, которое должно быть ограничено количеством зарегистрированных устройств, вам необходимо использовать для этого специальный профиль .
Диаграмма
Вот Диаграмма Я придумал. Если вы обнаружите что-то, что я пропустил или объяснил неправильно, сообщите мне об этом. Как говорится, это первый раз, когда я действительно пытался разобраться во внутренностях Provisioning и Code Signing . Я знаю, что есть о чем поговорить, но я думаю, что это хорошее начало для всего, что связано с этой темой. Я постараюсь поддерживать этот пост в актуальном состоянии и исправлять все ошибки так быстро, как только смогу.
- Xcode будет установлен и Промежуточный сертификат будет помещен в цепочку ключей
- Будет создан запрос на подпись сертификата (CSR) .
- Private Key будет создан вдоль создания CSR и сохранен в ключевой чаше. будет загружено на ваш компьютер
- Сертификат будет помещен в цепочку ключей и соединен с закрытым ключом для формирования идентификатора подписи кода
- Профиль подготовки будет создан с использованием сертификата , идентификатора приложения и идентификатора устройства и загружен Xcode
- Xcode подпишет приложение и отправит Provisioning Profiles на устройство
- iOS подтвердит, что все настроено правильно.