Gatekeeper подписывается для OSX DMG за пределами OSX/XCode/Mac App Store?
От взгляда на ноты для предстоящей версии OSX (после OSX Lion), похоже, что все DMG/установщики должны быть подписаны, даже если они не распространяются через магазин Mac App.
Я не смог найти инструмент командной строки для этого подписания, или много документации о получении сертификата подписи без отправки в App Store.
Может ли кто-то проливать свет:
1) Как получить сертификат без распространения вашего приложения через Mac App Store?
2) Как подписать DMG без использования встроенных инструментов XCode (предпочтительнее кросс-платформенный инструмент)?
Спасибо!
Ответы
Ответ 1
Кодексация подробно описана здесь и здесь - в основном вам нужно получить сертификат, а затем вы можете подписать ваше выражение... AFAIK в настоящее время не имеет официальных документов о подписании самого DMG. Что касается вашего второго вопроса (кросс-платформенная подпись), такого инструмента нет (по крайней мере, никто из них официально не поддерживается Apple). Что касается информации о будущих версиях OS X, я настоятельно рекомендую просить о соответствующих Apple-форумах (обычно есть также форумы для связанных с NDA вещей).
Ответ 2
Это очень просто:
CODESIGN_IDENTITY='Name of Code Sign Cert' # Found in Keychain Access
codesign -s "$CODESIGN_IDENTITY" -v path/to/YourApp.app
Затем на dmg:
codesign -s "$CODESIGN_IDENTITY" -v path/to/YourApp.dmg
Это работает даже с DMG, доступным только для чтения, например, UDZO.
Ответ 3
Подписывание образов дисков (Источник: Apple)
Изображения дисков могут быть подписаны с помощью инструмента codeign на macOS 10.11.5 и более поздних версиях. Это позволяет проверять весь образ диска при помощи Gatekeeper при первом подключении.
Gatekeeper также проверит содержимое образа диска.
Образы дисков должны быть подписаны только с идентификатором вашего идентификатора удостоверения разработчика.
В macOS Sierra и позже spctl
можно использовать для оценки подписи образа диска, например:
$spctl -a -t open --контекстный контекст: primary-signature -v MyImage.dmg /Users/me/Downloads/MyImage.dmg: принятый источник = идентификатор разработчика
Примечание. Образ диска, подписанный на OS X 10.11.5 или 10.11.6, может не поддаваться повторной подписке. В этой ситуации операция будет успешной, но подпись будет недействительной. Если вы столкнулись с этим условием, подпишите новую (неподписанную) копию изображения на macOS Sierra или позже.