Подпись привратника для OSX DMG за пределами OSX / XCode / Mac App Store?

Из примечаний к предстоящей версии OSX (той, что после OSX Lion), кажется, что все DMG / установщики должны быть подписаны, даже если они не распространяются через магазин приложений Mac.

Я не смог найти ни инструмента командной строки для этой подписи, ни документации о получении сертификата подписи без отправки в App Store.

Может кто-нибудь пролить свет на: 1) Как получить сертификат, не распространяя свое приложение через Mac App Store? 2) Как подписать DMG без использования встроенных инструментов XCode (предпочтительно кроссплатформенного инструмента)?

Спасибо!


person psychotik    schedule 16.03.2012    source источник
comment
Большинство деталей OS X 10.8 все еще находятся под соглашением о неразглашении.   -  person    schedule 16.03.2012
comment
Хорошо, хорошо, относитесь к этому как к тому, как подписать DMG для Snow Leopard. Я также редактировал вопросы, чтобы не упоминать то, что находится под соглашением о неразглашении. Я надеюсь, что нажатие на кнопку закрытия облегчит вашу радость, вместо того, чтобы внести что-то значимое в беседу.   -  person psychotik    schedule 16.03.2012
comment
проверьте инструмент xcrun, который выполняет большую часть работы по подписи материалов (включая профили обеспечения).   -  person Eimantas    schedule 13.04.2012
comment
@Eimantas, спасибо, но какой инструмент использовать с xcrun? (xcrun - это просто инструмент командной строки для вызова других инструментов SDK (developer.apple.com/library/mac/#documentation/Darwin/Reference/)   -  person psychotik    schedule 13.04.2012
comment
@psychotik есть инструмент под названием codesign, который, вероятно, делает то, что вы хотите.   -  person Eimantas    schedule 13.04.2012


Ответы (3)


Кодирование подробно описано здесь и здесь - в основном вам нужно получить сертификат, а затем вы можете подписать свое приложение ... AFAIK в настоящее время нет официальных документов по подписанию самого DMG. Что касается вашего второго вопроса (кросс-платформенная подпись), такого инструмента нет (по крайней мере, тот, который официально не поддерживается Apple). Что касается информации о будущих версиях OS X, я настоятельно рекомендую спросить на соответствующих форумах Apple (обычно есть также форумы по вопросам, связанным с NDA).

person Yahia    schedule 14.04.2012

Это очень просто:

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.

person Community    schedule 02.01.2014

Подписание образов дисков (Источник: Apple)

Образы дисков можно подписать с помощью инструмента codeign в macOS 10.11.5 и новее. Это позволяет гейткиперу проверить весь образ диска при его первом монтировании.

Гейткипер также проверит содержимое образа диска.

Образы дисков должны быть подписаны только своим идентификатором приложения Developer ID.

В macOS Sierra и более поздних версиях spctl можно использовать для оценки подписи образа диска, например:

$ spctl -a -t open --context context: primary-signature -v MyImage.dmg /Users/me/Downloads/MyImage.dmg: accept source = ID разработчика

Примечание. Образ диска, подписанный в OS X 10.11.5 или 10.11.6, может быть недоступен для повторной подписи. В этом случае операция будет выполнена успешно, но подпись будет недействительной. Если вы столкнулись с этим условием, подпишите новую (неподписанную) копию образа в macOS Sierra или более поздней версии.

person Borongaj    schedule 19.08.2016
comment
Как macOS обрабатывает не подписанный DMG? - person Royi; 07.04.2019