Java 使用证书颁发机构设置双向ssl

Java 使用证书颁发机构设置双向ssl,java,ssl,https,jetty,Java,Ssl,Https,Jetty,我已经建立了一个jetty(9.2.0.M1)托管的应用程序 我已通过以下设置将jetty配置为运行双向SSL: server.keystore - contains server private key and is self signed. server.truststore - contains clients certs that should be trusted. 当我点击https://127.0.0.1在我的浏览器中,我有一个有效的证书,它可以工作 我现在尝试在没有自己签名

我已经建立了一个jetty(9.2.0.M1)托管的应用程序

我已通过以下设置将jetty配置为运行双向SSL:

 server.keystore - contains server private key and is self signed.
 server.truststore - contains clients certs that should be trusted.
当我点击
https://127.0.0.1
在我的浏览器中,我有一个有效的证书,它可以工作

我现在尝试在没有自己签名证书的情况下执行此操作。为此,我设置了一个DNS(比如exampleDNS.com)并创建了一个证书签名请求服务器.csr,并将其发送给CA供应商

我收到了一封包含要使用的证书的邮件,并将其包含在server.keystore中

然而:当我现在点击
https://exampleDNS.com
服务器仍然提供自签名证书,而不是由CA进行验证

我可能错过了一些东西,但我真的不明白我做错了什么

我是否需要将特定CA供应商的根证书包含到密钥库/信任库中


如果我是你,我会尝试再次重复这个过程。并确保你先导入根证书,然后再导入中间证书,最后再导入试用证书。最后一个证书的别名应与创建私钥时使用的别名相同。对不起,我可能无法提出任何其他建议。

你对证书请求使用了相同的私钥吗?谢谢你的快速回复,我很抱歉确实使用keytool从我的server.keystore生成csr。因此,是的,它应该是相同的私钥。我认为您应该首先将CA证书导入密钥库。我这样做了。我认为它甚至不应该允许您在不首先导入CA证书的情况下导入CA证书签名,因为无法构建链。CA证书已导入密钥库如果在我的密钥库中没有CA证书,没有任何问题。我也会尝试将CA证书添加到我的密钥库。这个问题似乎属于Stack Exchange网络中的另一个站点,因为它与编程无关。或者。非常感谢您的帮助,当我有更多时间时,我将重复此过程。有一件事您需要注意问题是,我应该使用与创建私钥时使用的别名相同的别名-这是我知道我没有做过的事情。我会在尝试后返回