Правильная процедура подписи баночки

Мы (организация) хотим опубликовать стартовое веб-приложение java через JNLP. для выполнения JAR требуется полное разрешение, поэтому я упомянул <all-permissions/> в файле .jnlp, но если вы укажете <all-permissions/>, тогда JAR должен быть подписан.

У меня есть некоторые сомнения и путаница в отношении сертификата подписи кода и метода подписи jar, поэтому мне нужна некоторая ясность в моем предположении:

1. Можно ли подписывать банку с помощью сертификата веб-сайта (SSL)?

Мое предположение: поскольку сертификат для подписи кода предлагается партнерами по сертификации отдельно, поэтому может быть некоторая разница, поэтому мы не можем его использовать, но если мы рассмотрим это Java Sign jars with server certificate, тогда ответ будет прямо противоположным. Итак, можем ли мы действительно использовать сертификат веб-сайта для подписи JAR.

2. Можем ли мы использовать сертификат подписи кода, сгенерированный активным каталогом?

Мое предположение: мы можем генерировать сертификаты на сервере Active Directory. Поэтому, если мы сгенерируем сертификат на сервере AD, он также будет считаться самоподписанным сертификатом, поскольку java не доверяет root.

3. Все jar-файлы зависимостей нужно подписывать?

Согласно Как исправить недостающую кодовую базу , Permissions и атрибут манифеста Application-Name в моем приложении JNLP? нам нужно подписать каждую банку, добавив необходимую информацию в файл манифеста. Это действительно нужно? потому что в настоящее время я создаю банку с зависимостью, используя maven-assembly-plugin, и выполняю цель в netbeans как clean compile assembly:single, что делает одну банку, беря .class файлы всех зависимостей (в банку не включены банки зависимостей)


person Amogh    schedule 30.08.2016    source источник