Большинство ЦС продают сертификаты подписи кода в разных «продуктах», таких как Verisign или Certum:
Microsoft Authenticode - «Позволяет подписывать EXE, OCX, DLL, бл ... "
Java CodeSign -" Позволяет подписывать код Java "
Сертификат издателя программного обеспечения -" Позволяет подписывать программное обеспечение "
Ну, я ДЕЙСТВИТЕЛЬНО смущен этим.В чем разница между всеми этими продуктами - кроме ЦЕНЫ?Я спрашивал Verisign и другие CA несколько раз, потому что мне было любопытно, но я не получил ответа.
Я получил сертификат Authenticode от Certum CA.Я зарегистрировал его в Internet Explorer, экспортировал как PKCS # 12 PFX и мог подписать EXE, DLL, ... как и обещал.
Теперь ... Я попытался импортировать этот PFX в Java с помощью keytool, затем япытался подписать банку.И это сработало!
А потом появился таинственный «Сертификат издателя программного обеспечения» в качестве продукта.Я не знаю, что я могу / должен подписать этим ... Mac?Linux?Разве «Microsoft Authenticode» тоже не является сертификатом издателя программного обеспечения?Разве EXE не является "программным обеспечением"?Это действительно смущает меня.
Итак, мой вопрос сейчас: когда я заказал сертификат Microsoft Authenticode, тогда незаконно ли использовать его для подписи, например, файлов JAR или, если возможно, любого другого контента?Похоже, между этими сертификатами нет технической разницы.Все эти продукты должны иметь одинаковое кодовое обозначение EKU-OID "1.3.6.1.5.5.3.3.3", которое не делает различий между EXE, JAR, Adobe Air и тем, что, черт возьми, существует.Итак, если все сертификаты «CodeSigning» технически равны, зачем мне тогда решать, хочу ли я быть «Java Developer», «Windows Developer» или «Software Developer»?
Может быть, еще естьразличия в сертификате?Может быть, я получаю недостаточно прав в JAR, когда использую Authenticode-certs для подписи?
(PS: я не использую свое программное обеспечение в коммерческих целях!)