无法验证规则集jar

时间:2016-10-20 13:43:10

标签: java certificate keytool jarsigner jar-signing

另一个尝试在这里打开一条消息

我的公司希望将部署规则集用于多个java版本的使用。

Currenly我们有1.6.0_13,1.7.0_51和1.8.0_66 Java 8是在java控件主页的System选项卡中选择的 用户选项卡由java 6,7和8

组成

deployment.properties中的所有设置都是默认设置,并指向正确的位置或值

env变量集 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密码

  3. 使用csr文件并将其发送到我公司的CA进行签名。

  4. 收到两个文件:来自CA的cer和p7b文件

  5. 导入CSR回复: keytool -import -trustcacerts -file certnew.p7b -alias testsign -keystore mykeystore.jks -storepass password

  6. 在密钥库中下载并添加了链的所需证书。

  7. 创建了ruleset.xml

  8. 使用jar.exe创建了jar文件 jar.exe -cvf DeploymentRuleSet.jar ruleset.xml

  9. 将密钥库的jar文件签名 jarsigner -keystore mykeystore.jks DeploymentRuleSet.jar testsign

  10. 添加了时间戳 jarsigner -verbose -keystore mykeystore.jks -storepass密码-keypass密码-tsa http://timestamp.comodoca.com/rfc3161 DeploymentRuleSet.jar testsign -J-Dhttp.proxyHost = xxx.xxx.COM -J-Dhttp.proxyPort = 8080

    < / LI>
  11. 将DeploymentRuleSet.jar放在C:\ Windows \ Sun \ Java \ Deployment文件夹中

  12. 现在,当我使用java控件回家测试时 控制面板 - &gt; Java - &gt;安全标签 - &gt;查看有效部署规则集 - &gt;

    我收到消息为 &#34; DeploymentRuleset.jar无效&#34; &#34;无法验证规则集jar&#34;

    我可以在&#34;查看证书详细信息&#34;

    中看到我的证书

    现在我已经花了这么多小时并经历了这么多网页,但仍然不知道为什么它无效。

    这不是火箭科学,但我仍然被卡住了。

    有人可以指出我出错的地方。

    *********我不确定cacerts文件是否有任何步骤,如果我错过了cacerts的内容请指导我*************

    此致

1 个答案:

答案 0 :(得分:0)

试试这个,

使用较旧的JDK来签署您的DSR jar ...例如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在本文中提到了一些关于它的内容

来自7 Update 76及更早版本的Java SE引发JARSigningException,其中Jar文件使用'-tsa'选项签名,版本为Java SE 8u92-b31及更高版本(2191197.1) https://support.oracle.com/epmos/faces/DocContentDisplay?id=2191197.1

它对我有用吗