2014-09-17 4 views
0

Как я могу получить приложение Gatekeeper, подписанное сторонним сертификатом?Сторонний сертификат и гейткипер

Я подписал мою версию с той, которую я купил для версии Windows, и если я проверил опцию «Mac App and identifier developers» в Системных настройках, она не может быть выполнена.

Это команда, которую я выполняется для подписания:

codesign --force --verify --verbose --sign "My cert" My.app 

Это команда для проверки подписи:

codesign --verify --verbose=4 My.app 

И это выход:

My.app/: valid on disk 
My.app/: satisfies its Designated Requirement 

Что я делаю неправильно?

Спасибо.

ответ

1

Gatekeeper не принимает сторонние сертификаты, только сертификаты Mac App Store и Apple Developer ID. Причиной этого является то, что если Apple обнаружит, что распространенная вредоносная программа распространяется, они хотят иметь возможность отозвать сертификат, который использовался для его подписания; это возможно только в том случае, если Apple владеет центром сертификации, выдавшим сертификат подписи. В результате, сторонние сертификаты не считаются заслуживающими доверия для целей гейткипера.

BTW, проверка, которую вы делаете с codesign -- verify, проверяет, соответствует ли подпись содержимому приложения, а не считается ли она действительной сигнатурой гейткипера. Для этого вы хотите spctl -va My.app (хотя обратите внимание, что это проверяет его на соответствие действующей политике гейткипера, поэтому, если у вас есть гейткипер, установленный только в Mac App Store, он будет сообщать приложениям с поддержкой идентификатора разработчиков как «отклоненные»).