Не удается проверить банку набора правил

Еще одна попытка открыть сообщение здесь

Моя компания хочет использовать набор правил развертывания для использования нескольких версий Java.

В настоящее время у нас есть 1.6.0_13, 1.7.0_51 и 1.8.0_66. Java 8 — это то, что выбрано на вкладке «Система» домашней панели управления Java. Вкладка «Пользователь» состоит из Java 6, 7 и 8.

все параметры в deployment.properties установлены по умолчанию и указывают на правильные местоположения или значения.

переменные env set java_home = "C:\Program Files (x86)\Java\jdk1.8.0_66\bin" path = установить правильное расположение

Шаги, которые я выполнил, приведены ниже,

  1. создать хранилище ключей keytool -genkey -dname "cn=drstest, ou=abac, o=mycompany, c=SE" -keyalg RSA -keysize 2048 -alias testsign -keypass password -keystore mykeystore.jks -storepass password -validity 1460

  2. загрузил файл csr keytool -certreq -alias testsign -file certreq.csr -keystore mykeystore.jks -storepass password

  3. Использовал файл csr и отправил его в центр сертификации моей компании для подписи.

  4. Получил два файла: файлы cer и p7b от CA

  5. Импорт ответа CSR: keytool -import -trustcacerts -file certnew.p7b -alias testsign -keystore mykeystore.jks -storepass password

  6. Скачал и добавил необходимые сертификаты цепочки в хранилище ключей.

  7. создал набор правил.xml

  8. создал файл jar, используя jar.exe jar.exe -cvf DeploymentRuleSet.jar ruleset.xml

  9. подписал файл jar хранилище ключей jarsigner -keystore mykeystore.jks DeploymentRuleSet.jar testsign

  10. добавлена ​​отметка времени jarsigner -verbose -keystore mykeystore.jks -storepass password -keypass password -tsa http://timestamp.comodoca.com/rfc3161 DeploymentRuleSet.jar testsign -J-Dhttp.proxyHost=xxx.xxx.COM -J-Dhttp.proxyPort=8080

  11. Поместил файл DeploymentRuleSet.jar в папку C:\Windows\Sun\Java\Deployment.

Теперь, когда я тестирую с помощью домашней панели управления java Панель управления -> Java -> вкладка «Безопасность» -> Просмотр активного набора правил развертывания ->

я получаю сообщение "DeploymentRuleset.jar недействителен" "Не удается проверить банку набора правил"

Я вижу свой сертификат в разделе "Просмотр сведений о сертификате"

Теперь я провел так много часов и просмотрел так много веб-страниц, и до сих пор не знаю, почему это недействительно.

Это не ракетостроение, но все же я застрял.

Может ли кто-нибудь указать, где я ошибаюсь.

********** я не уверен, есть ли какие-либо шаги для файла cacerts, если я что-то пропустил для cacerts, пожалуйста, помогите мне **************

С Уважением


person jack    schedule 20.10.2016    source источник
comment
На этот вопрос нельзя ответить, не видя вашего ruleset.xml.   -  person user207421    schedule 22.04.2019


Ответы (1)


Попробуй это,

либо используйте более старый JDK, чтобы подписать банку DSR... например, 1.6.0_13 JDK

OR

с вашим новым JDK добавьте это в свою команду jarsigner -tsadigestalg SHA1

jarsigner -tsadigestalg SHA1 -verbose -keystore mykeystore.jks -storepass password -keypass password -tsa http://timestamp.comodoca.com/rfc3161 DeploymentRuleSet.jar testsign -J-Dhttp.proxyHost=xxx.xxx.COM -J-Dhttp.proxyPort=8080

Oracle что-то упоминает об этом в этой статье

Java SE из обновления 7 76 и более ранних версий создает исключение JARSigningException с файлами JAR, подписанными с использованием параметра «-tsa» в версиях Java SE 8u92-b31 и более поздних версиях (2191197.1) https://support.oracle.com/epmos/faces/DocContentDisplay?id=2191197.1

Это то, что сработало для меня

person KingBain    schedule 08.02.2017