Как подписать свою программу сертификатом

(Осторожно, под катом трафик)
Подготовка и распространение приложения IOS внутри компании весьма непростая задача, особенно когда приложение написано на Windows с использованием Visual studio, а большинство туториалов в интернете описывают исключительно MacOS с использованием Xcode. Однако после часов сражения с детищем Apple, нам удалось свершить казалось бы невозможное, а именно: скрестить жирафа с носорогом собрать IOS приложение на Xamarin в архив Xcode, сразу на MacOS, после получить нужные файлы для распространения, и в завершении создать ссылку, по которой будет распространяться приложение.

Да, на слух вроде не очень сложно. Однако когда дело касается разработки приложений под устройства Apple, всё становится в несколько раз непонятней и сложней. И после триумфальной, но нелёгкой победы, нам захотелось оставить свой след в истории, написав сей туториал.

Предварительные условия:

Как украсть Цифровую Подпись и Сертификат Файла

1. Должен быть Enterprise аккаунт Apple — $299 в год.

1 Шаг. Создание сертификата.

1. Сперва, на Mac, нужно создать запрос для создания сертификата. Для этого нужно открыть keychain access, например, через поиск:

2. Выбрать keychain access в левом верхнем углу экрана, в выпавшем меню выбрать “certificate assistant” —> “request a certificate from a certificate authority”, откроется соответствующие окно:

3. В появившемся окне заполняем поля “User Email Address” – свою электронную почту, и “Common Name” – имя ключа. А также выбираем пункт “Saved to disk”, чтобы сохранить файл запроса на компьютер. И нажимаем кнопку “Continue”:

4. Далее появится окошко, в котором нужно указать название файла запроса и выбор пути для сохранения файла. Вносим нужные изменения и сохраняем:

5. После успешного сохранения появится следующее окно. Нажимаем “Done”:

6. После мы можем увидеть, что создался файл запроса в месте сохранения (в данном примере на рабочем столе). Или мы можем увидеть созданный ключ в списке ключей в “keychain access”:

7. Далее нам надо создать сертификат, это мы сможем сделать на сайте Apple для разработчиков, войдя в свой аккаунт:

Как подписать программу цифровой подписью

8. После успешного входа в аккаунт мы переходим в “Certificates, IDs Profiles”, так же на странице сертификатов нужно убедиться, что выбрано “IOS, tvOS, watchOS”:

2. Далее на странице, в разделе “Identifiers”, нужно выбрать “App IDs”:

3. На странице нажимаем на кнопку с изображением “+”, чтобы создать App ID. Появится страничка, на которой надо выбрать настройки создаваемого ID. Настройки ID индивидуальны для вашего приложения, единственное важное уточнение – в графе App ID Suffix нужно выбрать Explicit App ID:

4. После создания App ID, его можно увидеть на сайте:

По итогу двух шагов, мы успешно получили сертификат и создали App ID. Далее нам надо при помощи созданного сертификата создать Provisioning Profiles. И это приводит нас к следующему шагу “3 Шаг. Создание Provisioning Profiles”.

3 Шаг. Создание Provisioning Profiles.

На предыдущем шаге мы успешно создали сертификат, теперь нам нужно с его помощью создать Provisioning Profiles. Для этого нужно:

1. На сайте Apple для разработчиков, в своём аккаунте перейти сперва в “Certificates, IDs Build» MyProject.csproj

Читайте также:
Не показывает окно программы

5. После успешного выполнения команды на Mac должен был создастся архив. Нам надо запустить Xcode, в нём выбрать “Windows” и в этом меню выбрать “Organazer”. Там в разделе “Archive” мы увидим созданный архив .xcarchive:

6. Теперь нам надо создать файлы .ipa и .plist, на основе созданного архива.

При помощи их мы сможем распространять своё приложение минуя AppStore, например, внутри компании. Далее нам надо нажать кнопку “Distribute App”. В появившемся меню выбрать “Enterprise” и нажать кнопку “Next”:

7. Далее нужно выбрать устройства, на которые можно распространять и обязательно выбрать “include manifest for over-the-air installation”, для того чтобы можно было скачать приложение из браузера:

8. В следующем окне нужно указать “Name” – имя приложения; “App URL” – путь к .ipa файлу;”Display Image URL” – Путь к иконке 57х57;”Full Size Image URL” – Путь к иконке 512х512.

Важно что бы сервер на котором размещены файлы .ipa и .plist, был с шифрованием, то есть обязательно https. В примере используется сервис dropbox. При использовании сервиса dropbox важно знать: правильный путь к файлу по публичной ссылке должен начинаться не с “https://www.dropbox.com/”, как указано в сгенерированной ссылке, а с “https://dl.dropboxusercontent.com/”.

9. На следующем этапе нам нужно выбрать созданные сертификат и Provisioning Profile:

10. После мы увидим успешно собранное приложение, и мы должны выбрать куда сохранить папку с приложением, которое мы после будем распространять:

11. После сохранения на рабочем столе создалась папка. Содержимое папки вы можете видеть на скриншотах ниже, при генерации создаётся 4 файла .plist и обычно 1 .ipa, но в проверочном приложении это немного не так, но нас в данном случае будет интересовать файл у которого в имени только название нашего приложения. Что касается 4 файлов .plist, то далее нам понадобится файл “manifest.plist”. Для установки приложения нужен plist, в котором описаны предустановочные свойства. Подробнее узнать о Enterprise Distribution и посмотреть как выглядит manifest.plist можно здесь:

Таким образом на данном шаге мы успешно создали .ipa и .plist файлы приложения, созданного в Visual Studio 2017, и которые мы будем использовать для In-House дестрибьюции.

5 Шаг. Распространение приложения

На предыдущих шагах мы подготовили наше приложение к распространению. На данном шаге мы создадим простой html файл с ссылкой и выложим её на локальный IIS, это делается для упрощения примера, но местоположение ссылки роли не играет. Не в рамках примера ссылку
можно разместить на собственном сайте, чтобы она была доступно сотрудникам, как и файлы приложения, следует размещать на собственном сервере. Однако в этом примере, как упоминалось ранее, мы использовали сервис dropbox.

1. Сперва нам нужно разместить файлы (иконки, .ipa файл и manifest.plist) на dropbox и делаем их доступными по ссылке:

2. После создаём html файл, следующего содержания:

Install iOS in-house App

3. Далее выкладываем этот html файл на локальный IIS (или ваш сайт), и пройдя по данной ссылке с мобильного устройства нам предложат установить приложение. После установки приложения пользователю нужно подтвердить доверие сертификату на устройстве Settings → General → Device Management → «Enterprise Name» тогда только пользователи смогут открыть приложение:

Итог

По итогам 5 шагов мы создали сертификат и Provisioning Profile, собрали Xcode архив из Visual Studio 2017, получили .ipa и .plist файлы для распространения, а так же смогли успешно установить приложение на устройстве перейдя по ссылке, тем самым минуя AppStore.

  • Разработка под iOS
  • Разработка мобильных приложений
  • Visual Studio
  • C#
  • Xamarin

Источник: habr.com

Читайте также:
Инструкция по работе в программе Microsoft

Как создать свой сертификат iOS: подробная инструкция

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

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

Как сделать сертификат доверенным iOS

Владельцы устройств iOS, которые хотят иметь возможность установки приложений, не доступных из App Store, должны иметь доверенный сертификат. Однако, если сертификат не является доверенным, пользователь будет получать сообщение об ошибке при установке приложения. Чтобы избежать этой проблемы, необходимо следовать нескольким шагам.

Первым шагом является получение своего собственного сертификата разработчика на портале Apple Developer. Для этого нужно зарегистрировать свой Apple ID и подписаться на Apple Developer Program, оплатив годовую плату. После этого можно создавать свои собственные сертификаты и профили. Второй шаг — добавление созданного сертификата в список доверенных на устройстве iOS.

Для этого нужно зайти в раздел «Общие» в настройках устройства iOS, выбрать «Управление профилями и устройствами» и добавить свой сертификат разработчика в список доверенных. После выполнения этих шагов, у владельца устройства iOS будет возможность установки приложений, подписанных своим собственным сертификатом. Также, если приложение было подписано сертификатом доверенного разработчика, то пользователь получит уведомление о том, что приложение запущено под контролем разработчика, но не станет получать сообщения об ошибке при установке.

Как подписать приложение своим сертификатом iOS

Шаг 1: Получите свой iOS Development Certificate

Прежде чем вы сможете подписать свое приложение iOS, вам нужно получить iOS Development Certificate. Это сертификат, который вы можете получить через портал разработчика Apple. Перейдите на страницу Certificates, Identifiers Preferences»

  • Нажмите на значок «Accounts» и добавьте учетную запись разработчика
  • Выберите Вашу учетную запись и нажмите кнопку «Manage Certificates»
  • Нажмите на кнопку «Add» и выберите тип сертификата, который Вам нужен
  • Следуйте инструкциям на экране и загрузите сертификат
  • Шаг 3: Использование сертификата

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

    Как создать свой сертификат для iOS?

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

    Создать сертификат для iOS можно через программу Xcode. Необходимо быть зарегистрированным в Apple Developer Program и иметь аккаунт в системе. Далее нужно зайти в раздел Certificates, Identifiers https://obzortelefonov.ru/kak-sozdat-svoy-sertifikat-ios-podrobnaya-instruktsiya.html» target=»_blank»]obzortelefonov.ru[/mask_link]

    Процесс подписания кода приложения в iOS и iPadOS

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

    Обязательная подпись кода

    После запуска ядро iOS или iPadOS определяет, какие процессы пользователей и приложения могут быть запущены в системе. Чтобы помочь проверить, что все приложения получены из известного и утвержденного источника и не подделаны, iOS и iPadOS требуют, чтобы весь исполняемый код был подписан с помощью выпущенного компанией Apple сертификата.

    Читайте также:
    Программа производственной практики научно исследовательская работа

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

    Процесс подписания приложений разработчиками

    Разработчики могут подписывать свои приложения с помощью сертификатов (в рамках программы Apple Developer Program). Они также могут встраивать в свои приложения различные программные среды и использовать сертификаты, выданные Apple, для проверки кода (с помощью строки идентификатора команды).

    • Проверка сертификата. Для разработки и установки приложений на устройствах iOS или iPadOS разработчики должны зарегистрироваться в Apple и присоединиться к программе Apple Developer Program. Перед выдачей сертификата компания Apple проверяет личность каждого разработчика, будь то частное лицо или компания, в реальном мире. Используя эти сертификаты, разработчики могут подписывать приложения и отправлять их в App Store для распространения. В результате все приложения в App Store отправляются идентифицированными людьми и организациями, что выступает в качестве сдерживающего фактора для создания вредоносных приложений. Кроме того, Apple проверяет все приложения, что помогает выявить явные ошибки или другие заметные проблемы и определить, соответствуют ли приложения своему описанию. Эта проверка дает пользователям дополнительную уверенность в качестве приложений, которые они покупают.
    • Проверка подписи кода. Разработчики приложений для iOS и iPadOS могут встраивать в свои приложения различные программные среды, используемые самим приложением или встроенными в него расширениями. Чтобы защитить систему и другие приложения от загрузки стороннего кода в их адресное пространство, в момент загрузки система выполняет проверку подписи кода для всех динамических библиотек, на которые ссылается процесс. Эта проверка выполняется с помощью идентификатора команды (Team ID), который извлекается из выпущенного компанией Apple сертификата. Идентификатор команды представляет собой десятизначную буквенно-цифровую строку, например 1A2B3C4D5F. Приложение может ссылаться на любую библиотеку платформы, поставляемую вместе с системой, и любую библиотеку с таким же идентификатором команды в подписи кода, как у основного исполняемого модуля. Поскольку исполняемые модули, поставляемые с системой, не имеют идентификатора команды, они могут ссылаться только на библиотеки, которые также поставлялись с системой.

    Проверка корпоративных приложений собственной разработки

    У получивших разрешение компаний есть возможность разрабатывать корпоративные приложения для внутреннего пользования и распространять их среди своих сотрудников. Предприятия и организации могут подать заявку на участие в программе Apple Developer Enterprise Program (ADEP). Для получения дополнительной информации и ознакомления с условиями участия посетите веб-сайт программы Apple Developer Enterprise Program. Став участником программы ADEP, организация может зарегистрироваться и получить профиль обеспечения, который разрешает запускать корпоративные приложения собственной разработки на указанных в профиле устройствах.

    Для запуска этих приложений у пользователей должен быть установлен профиль обеспечения. Эта мера направлена на то, чтобы только санкционированные организацией лица могли загружать приложения на устройства iOS и iPadOS.

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

    Источник: support.apple.com

    Рейтинг
    ( Пока оценок нет )
    Загрузка ...
    EFT-Soft.ru