Как добавить кодовую подпись в файл 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>
мне известно.
Что я делаю раньше
- Создать DMG для чтения / записи (создается с помощью утилиты Disk)
- Копировать приложение и другие внешние ресурсы
- DMG с подписью кода с помощью команды
- Преобразуйте его в DMG только для чтения с помощью Дисковой утилиты
- Проверьте это используя
spctl -a -t open --context context:primary-signature <path-to-disk-image>
, что приводит к отказу.
Затем несколько перестановок и комбинаций, я нашел довольно простое прямое решение:
- Создайте DMG для чтения / записи (создается с помощью утилиты Disk).
- Копировать приложение и другие внешние ресурсы
- Преобразуйте его в DMG только для чтения с помощью Дисковой утилиты
- DMG с кодовой подписью с использованием команды codeign (на этот раз я сделал это на Sierra, скорее всего, должно работать с 10.11.5)
- Проверьте это используя
spctl -a -t open --context context:primary-signature <path-to-disk-image>
, что приводит к успеху.
Я надеюсь, что это работает для вас.:)