另一个尝试在这里打开一条消息
我的公司希望将部署规则集用于多个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 =设置为正确的位置
我遵循的步骤如下:
创建密钥库 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
下载了csr文件 keytool -certreq -alias testsign -file certreq.csr -keystore mykeystore.jks -storepass密码
使用csr文件并将其发送到我公司的CA进行签名。
收到两个文件:来自CA的cer和p7b文件
导入CSR回复: keytool -import -trustcacerts -file certnew.p7b -alias testsign -keystore mykeystore.jks -storepass password
在密钥库中下载并添加了链的所需证书。
创建了ruleset.xml
使用jar.exe创建了jar文件 jar.exe -cvf DeploymentRuleSet.jar ruleset.xml
将密钥库的jar文件签名 jarsigner -keystore mykeystore.jks DeploymentRuleSet.jar testsign
添加了时间戳 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>将DeploymentRuleSet.jar放在C:\ Windows \ Sun \ Java \ Deployment文件夹中
现在,当我使用java控件回家测试时 控制面板 - &gt; Java - &gt;安全标签 - &gt;查看有效部署规则集 - &gt;
我收到消息为 &#34; DeploymentRuleset.jar无效&#34; &#34;无法验证规则集jar&#34;
我可以在&#34;查看证书详细信息&#34;
中看到我的证书现在我已经花了这么多小时并经历了这么多网页,但仍然不知道为什么它无效。
这不是火箭科学,但我仍然被卡住了。
有人可以指出我出错的地方。
*********我不确定cacerts文件是否有任何步骤,如果我错过了cacerts的内容请指导我*************
此致
答案 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
它对我有用吗