我正在尝试将JNLP文件部署到服务器,使客户端能够下载我的Java应用程序以在其计算机上使用 . 我已按照this post的建议从Certrum购买了开源证书
我按照上面帖子中的说明将我的pem文件导出为pfx通过chrome,签署我的jar,我还添加了一个-tsa标志来为jar时间戳 . 以下是我用于使用导出的pfx文件签署/验证jar的命令:
keytool -list -v -storetype pkcs12 -keystore Certificates.p12
jarsigner -storetype pkcs12 -keystore Certificates.p12 Application.jar "cservices.certum.pl" -tsa http://timestamp.comodoca.com/rfc3161
jarsigner -verify Application.jar
这给了我以下输出:
jar签名jar验证 . 警告:此jar包含未验证证书链的条目 . 使用-verbose和-certs选项重新运行以获取更多详细信息 .
现在,当我将软件部署并下载到我的机器时,Java仍然告诉我无法打开应用程序,因为它是自签名的,因此存在安全风险 .
我如何验证我的证书链?是导致我的安全问题的错误?
下面是我的部署到我的tomcat服务器的Application.jnlp文件
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="http://[url]/" href="Application.jnlp">
<information>
<title>Application</title>
<vendor>vendor</vendor>
<homepage href="http://localhost:8080/" />
<description>Testing Testing</description>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.8+" />
<jar href="Application.jar" />
</resources>
<application-desc main-class="com.me.Application" />
</jnlp>