Как добавить кодовую подпись в файл DMG в Mac

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

3 ответа

Решение

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

codesign -s <identity> --keychain <full-path-to-keychain> <path-to-disk-image>

Есть 3 способа сделать это. В терминале на OS X 10.11.5 или новее. Примечание: вы можете кодировать подпись DMG в более ранних версиях ОС, однако Sierra нравится их только с 10.11.5 или новее.

codesign --force --sign "Developer ID Application: <identityIdentifier>" <pathToDMG>

Проверка осуществляется через (требуется macOS Sierra).

spctl -a -t open --context context:primary-signature -v <pathToDMG>

Araelium обновил DMG Canvas (v2.3), поэтому он будет кодировать знаки DMG при сборке.

DropDMG также был обновлен для кодирования файлов изображений DMG (v3.4).

Есть также (инструмент, который я разработал) под названием App Wrapper (3.6), который может кодировать подписи файлов DMG.

Раньше я боролся за то, чтобы кодировать знак dmg на 10.11.5 даже этой командой codesign -s <identity> <path-to-disk-image> мне известно.

Что я делаю раньше

  1. Создать DMG для чтения / записи (создается с помощью утилиты Disk)
  2. Копировать приложение и другие внешние ресурсы
  3. DMG с подписью кода с помощью команды
  4. Преобразуйте его в DMG только для чтения с помощью Дисковой утилиты
  5. Проверьте это используя spctl -a -t open --context context:primary-signature <path-to-disk-image>, что приводит к отказу.

Затем несколько перестановок и комбинаций, я нашел довольно простое прямое решение:

  1. Создайте DMG для чтения / записи (создается с помощью утилиты Disk).
  2. Копировать приложение и другие внешние ресурсы
  3. Преобразуйте его в DMG только для чтения с помощью Дисковой утилиты
  4. DMG с кодовой подписью с использованием команды codeign (на этот раз я сделал это на Sierra, скорее всего, должно работать с 10.11.5)
  5. Проверьте это используя spctl -a -t open --context context:primary-signature <path-to-disk-image>, что приводит к успеху.

Я надеюсь, что это работает для вас.:)

Другие вопросы по тегам