Нужно ли нотариально заверять фреймворки (.framework), dlib-файлы и двоичные файлы? - PullRequest
1 голос
/ 24 апреля 2019

Читая документы Apple о нотариальном заверении, не ясно, нужно ли нам нотариально заверять двоичные файлы (например, демон запуска), фреймворки или библиотеки.

Нужно ли также нотариально заверять их?

Документы по яблоку можно найти здесь Нотариальное заверение вашего приложения перед распространением

1 Ответ

1 голос
/ 03 мая 2019

Отвечая на мой вопрос здесь, может быть, это кому-то поможет.

Это может быть сделано автоматически Xcode; однако, если вам нужно настроить это вручную (возможно, у вас есть Continuous Integration или w / e), это может помочь.

По данным Apple:

Нотариальное заверение дает пользователям больше уверенности в том, что распространяемое вами программное обеспечение с подписью Developer ID было проверено Apple на наличие вредоносных компонентов.

Если проблем нет, нотариальная служба генерирует билет для вас, чтобы прикрепить к вашему программному обеспечению

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

Для этого необходимо выполнить несколько шагов:

  • добавить --timestamp в Другие флаги подписи кода в Настройки сборки для каждой цели, которая создает двоичный файл, каркас, dylib или приложение
  • добавить --options=runtime к Другие флаги подписи кода (для Xcode <10.2) или <strong>Включить усиленную среду выполнения (для Xcode> = 10.2) в Настройки сборки
  • код подписи всего (dylibs, frameworks, binaries и .apps.)

Далее нотариальное заверение может быть выполнено следующим образом:

  • включает каждый файл, который должен быть заверен нотариусом в файл .zip (другие поддерживаемые форматы: .dmg , .pkg )
  • загрузить поддерживаемый формат в службу нотаризации Apple: например: xcrun altool --notarize-app -f <path_to_zip_dmg_or_pkg> --primary-bundle-id <bundle_identifier> -u <apple_id> -p @keychain:"Application Loader: <apple_id>" ---> это возвращает UUID , который также будет отправлен на почтовый адрес для предоставленного <apple_id> после нотариального заверения сделано
  • проверить журналы состояния и ошибок (если есть) с xcrun altool --notarization-info <UUID_from_previous_step> -u <apple_id> -p @keychain:"Application Loader: <apple_id>"
  • журналы ошибок можно загрузить с помощью curl LogFileURL, где LogFileURL возвращается в json-ответе предыдущей команды
  • если все в порядке, просто сделайте нотариальное заверение с помощью команды xcrun stapler staple -v <path_to_app_dmg_or_pkg>; только приложение , dmg и pkg могут быть сшиты.

Другие полезные команды:

  • используйте codesign -dvvv <path_to_file>, чтобы проверить, выполнено ли кодирование, также проверьте значение метки времени
  • используйте spctl -a -v <path_to_file> для проверки правильности сшивания
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...