Если я подпишу JAR сертификатом от Comodo, я все равно буду получать предупреждения?

Я написал часть программного обеспечения на Java, которое я хотел бы продать, однако в настоящее время оно не подписано. Когда я впервые написал программное обеспечение, это не имело большого значения, но я думаю, что OS X с тех пор обновилась и стала более строгой, как и веб-браузеры, и теперь я получаю много предупреждений о том, что файл «обычно не загружается». и может быть опасным», и OS X не позволит запустить приложение без изменения настроек безопасности.

Из того, что я могу понять, единственный способ решить эту проблему - подписать приложение, что хорошо для Windows, однако в OS X я немного запутался. Я читал в Интернете, что теперь действительны только сертификаты, выпущенные Apple, но некоторые компании, такие как DigiCert, все еще рекламируют, что сертификаты подписи кода работают на Mac, и почти все говорят, что они работают с Java. Итак, если бы я подписал свои JAR-файлы с помощью сертификата подписи кода от Comodo, а затем использовал JarBundler для создания приложения, было бы оно признано «безопасным»?

Ответы (2)

После того, как я стиснул зубы и купил сертификат подписи кода, теперь я могу со всей уверенностью ответить на свой вопрос:

Краткий ответ: нет, предупреждения не появляются в OS X, хотя они появляются в веб-браузерах.

Длинный ответ: технически сертификаты от Comodo или любого другого доверенного центра сертификации работают на Mac, и вы можете абсолютно точно подписывать .appsих, однако насколько это полезно, это другой вопрос. Я полагаю, что для более продвинутых пользователей это все еще полезно, поскольку вы можете проверить, было ли приложение подделано или нет, но Apple все равно не увидит, что оно от доверенного разработчика - и здесь начинается путаница.

Предупреждения, о которых я упоминал в своем первоначальном вопросе, исходят от Gatekeeper . Теперь, если бы я знал, что мне не нужно было бы начинать этот вопрос, но я думаю, если бы я не знал, другие люди тоже не будут. В любом случае Gatekeeper — это то, что Apple разработала для обеспечения безопасности Mac и предотвращения проникновения нежелательного вредоносного программного обеспечения в систему. Это достигается за счет ограничения того, какие приложения могут выполняться в зависимости от их происхождения, и по умолчанию в OS X Mountain Lion и более поздних версиях Gatekeeper разрешает выполнение только приложений из Mac App Store и доверенных разработчиков.

Однако, чтобы стать доверенным разработчиком, нужно больше, чем просто подписать код любым старым сертификатом. Доверенные разработчики имеют идентификатор разработчика, предоставленный им Apple, и их сертификат подписи кода содержит этот идентификатор разработчика; опять же, единственными сертификатами, которые могут содержать идентификатор разработчика, являются сертификаты, выпущенные Apple.

Итак, когда люди говорят вам, что Apple доверяет только себе, это неправда. Они доверяют сертификатам, выданным большинством центров сертификации, но не так, как Windows, и подписание вашего приложения не означает, что вы являетесь доверенным разработчиком. За это вы должны платить Apple 99 долларов в год.

Честно говоря, вы получаете много за эти 99 долларов, и в этом есть смысл. Это неприятно для разработчиков, но безопаснее для пользователей! Пользователи могут обходить Gatekeeper для отдельных приложений, поэтому, если вы планируете выпустить только одно приложение для OS X или что-то в этом роде, то, возможно, лучше предоставить инструкции о том, как это сделать.

PS: После множества писем в службу поддержки Comodo я наконец получил от них это заявление, чтобы подтвердить все это:

Хотя наши сертификаты отлично работают с подписанием файлов .app, они не дают вам идентификатора разработчика Apple, чтобы указать, что вы являетесь идентифицированным разработчиком Apple, поскольку только Apple предоставляет идентификаторы разработчика для приложений Mac и iOS.

Ваши файлы JAR будут считаться безопасными после того, как вы подпишете их с помощью сертификата подписи кода Comodo.

Сертификат подписи кода Comodo совместим с Mac OS, Linux, Windows, поэтому вы не получите никаких предупреждений или предупреждающих сообщений в своей OS X.

Эта статья поможет вам понять, как сертификат Comodo Code Signing защищает файлы .Jar — https://support.comodo.com/index.php?/Default/Knowledgebase/Article/View/531/7/signing-jar-files .

Звучит здорово, но что я читал об Apple, разрешающей использовать только выпущенные ими сертификаты?
Apple будет доверять вашему программному обеспечению/приложению, если оно подписано одним из доверенных центров сертификации, таких как Comodo, Symantec, Thawte и т. д.
Это неправильно. Идентификатор разработчика требуется для подписи приложения для Gatekeeper.