Я понимаю математику за криптографией RSA, однако у меня возникли проблемы с согласованием этого с процессом лингвистики и аутентификации Apple. Мы имеем следующие объекты:Подпись кода iOS
- Мой личным пар ключ
- пар ключей от Apple
- Моего сертификат развития
- Моего сертификат распределения
- компании Apple по всему миру отношения разработчиков сертификат от Apple
- Моего профиля обеспечения разработки
- Профиль распределения профилей
И следующие различные режимы Run:
- Запуск приложений из App Store
- Запуск приложений, распределенных для бета-тестирования
- запускать приложения в среде разработки/отладки
Как все это работает вместе для достижения цели? И, «работая вместе», я имею в виду явно какие признаки, что, когда и где.
Мой текущий колото является:
- сгенерировать открытый/закрытый ключ
- я выдать запрос на сертификат от Apple: Я посылаю им свой открытый ключ и некоторую информацию о том, кто я, и знак это использование моего личного ключа. Затем Apple использует некоторый крипто хэш для проверки информации и что я действительно владею этим открытым ключом. Затем Apple проверяет мою информацию против зарегистрированных разработчиков Apple, и если все проверяется, выдает сертификат (включая мой открытый ключ) и подписывает все это, используя свой закрытый ключ. Может иметь разные сертификаты, подписанные Apple для разных целей.
- Я включаю этот сертификат в любой профиль обеспечения. Я хочу запустить мой код (либо отдельно, либо ipa, либо иначе).
- Когда я пытаюсь запустить приложение на устройстве, и устройство понимает, что это не подписанный непосредственно Apple, он смотрит на профиль обеспечения, который я установил на нем
- Если идентификатор приложения проверяется и является одним из зарегистрированных зарегистрированных устройств, он смотрит на сертификаты
- Он проверяет подпись сертификата , используя открытый ключ Apple, чтобы убедиться, что сертификат был подписан Apple, и, таким образом, устройство может доверять подлинности сертификата
- Затем он проверяет код подписал приложение, используя мой открытый ключ включен в сертификат, и если они совпадают, то он знает код, подписанный доверенным разработчиком приложения
- Теперь можно запустить приложение
Я в растерянности какой сертификат Apple для Worldwide?
Что касается подписания кода, сертификат Apple Worldwide содержится в профилях подготовки (корневой сертификат) – shallowThought
@shallowThought Но - как это возможно? Вы загружаете сертификат WWDR полностью отдельно от профилей подготовки - и Apple подписывает эти профили, поэтому ни один способ ничего не добавить к ним после факта. – Kay
Правильно. Apple подписывает эти профили. Вам не нужно загружать сертификат Apple Worldwide для подписи кода. – shallowThought