我正在尝试将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>