JavaWebStart代码库证书链

JavaWebStart代码库证书链,java,https,ssl-certificate,java-web-start,Java,Https,Ssl Certificate,Java Web Start,我正在使用JavaWebStart(JWS)部署和运行我的JavaFX应用程序。我的jnlp文件的jnlp元素定义如下: <jnlp spec="1.0+" xmlns:jfx="http://javafx.com" codebase="http://www.example.com/software" href="MyJnlp.jnlp"> <jnlp spec="1.0+" xmlns:jfx="http://javafx.com" codebase="https://ww

我正在使用JavaWebStart(JWS)部署和运行我的JavaFX应用程序。我的jnlp文件的
jnlp
元素定义如下:

<jnlp spec="1.0+" xmlns:jfx="http://javafx.com" codebase="http://www.example.com/software" href="MyJnlp.jnlp">
<jnlp spec="1.0+" xmlns:jfx="http://javafx.com" codebase="https://www.example.com/software" href="MyJnlp.jnlp">
当我通过双击jnlp文件启动应用程序时,我从Java收到一条警告,指出“到此网站的连接不受信任”,并单击“更多信息”,我看到一条消息,指出“颁发证书的证书颁发机构不受信任”()

我的SSL证书依赖于SSL证书链将其链接到根证书。我打开Java控制台并验证我的根证书是否存在于
安全站点CA
系统
部分的“证书类型”选项卡()下

作为测试,我随后尝试将我的站点的SSL证书导入到
安全站点
用户
部分的“证书类型”选项卡。导入站点的SSL证书后,我不再收到警告

基于此测试,在我看来,Java可能无法读取/无法读取将我的证书链接到根证书的证书链中的中间证书

My-MacBook-Pro:~ username$ openssl s_client -connect www.example.com:443
CONNECTED(00000003)
depth=1 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert SHA2 High Assurance Server CA
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
 0 s:/C=US/ST=North Carolina/L=Raleigh/O=Red Hat Inc./CN=*.rhcloud.com
   i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 High Assurance Server CA
 1 s:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 High Assurance Server CA
   i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance EV Root CA
---
Server certificate
-----BEGIN CERTIFICATE-----
***CERTIFICATE FOR MY CUSTOM DOMAIN***
-----END CERTIFICATE-----

我希望我的用户能够通过https启动JWS应用程序,而无需导入我的站点证书或收到警告提示。有人能帮忙吗?

经过进一步调查,我对故障来源的最初假设似乎不正确。我使用了
openssl
来查看托管javawebstart代码库的服务器提供的证书和证书链(我使用的是openshift)。SSL数据显示,尽管为我的自定义域提供了SSL证书,但证书链对应于RedHat的默认SSL配置(这显然不会验证我的自定义域的证书)

由于服务器提供openshift默认SSL支持的证书链,我决定更改我的
jnlp
文件的
codebase
属性,以指向Redhat提供的域,该域解决了“不可信连接”错误

我对这个结果感到满意。但是,要使用我的自定义域,我认为正确的做法是使用Redhat进行后续操作,以确定在使用我的自定义域名访问服务器时,包含我的证书链的
pem
文件未显示的原因