使用具有双向SSL连接的Spring-boot - 发出配置信任存储的问题

时间:2016-12-19 14:26:27

标签: java security ssl spring-boot https

我正在使用Spring-Boot版本1.3.3.RELEASE。我试图通过application.yaml配置我的密钥库和信任库来设置双向SSL身份验证。

有两个内部服务器,一个(称为A)使用REST API发送到另一个(称之为B,这是我尝试配置的内容)。

收到我们的私钥和证书(B' s),将其合并为PKCS12格式并将其设置为密钥库(mykeystore.p12)。还获得另一端私钥和证书(A' S),导入的证书只到JKS格式并将其设置为一个信任店内(mytruststore.jks)

stringLength="$(grep -oPm1 "(?<=<shortdescription>)[^<]+" file)"
echo "${#stringLength}"
26

我想测试连接,所以我也用A&#39的密钥和证书创建了一个PKCS12格式证书,并将其导入浏览器。 首先,浏览器通知我连接不安全:

  

localhost:8443使用无效的安全证书。   证书不受信任,因为颁发者证书未知。   服务器可能没有发送适当的中间证书。   可能需要导入其他根证书。   该证书仅对 * .somedomain 有效   错误代码:SEC_ERROR_UNKNOWN_ISSUER

但接受的风险,客户端&#39之后; S证书验证失败(浏览器没有按&#39;吨询问我其中我CERT要用作客户端&#39使用; S CERT):

  

连接some.domain时发生错误。 SSL同行不能   验证你的证书。错误代码:SSL_ERROR_BAD_CERT_ALERT

之后我创建了一个自签名证书和密钥用于测试目的,按照上面的步骤和自签名证书,它可以工作。浏览器询问我要使用哪个证书作为客户端证书,在选择我创建的唯一证书后,SSL握手成功。

尝试使用与密钥存储和信任存储相同的PKCS12格式证书,以确保配置正常,但同样,它仅适用于自签名证书。

我最好的猜测我使用localhost和B&s的证书CN是 * .somedomain 。我在hosts文件中创建了一个 test.somedomain 条目,并尝试使用它来测试B&#39的证书,但错误仍然存​​在。

我是否遗漏或错误配置了某些内容,或者如果我使用给定的证书正确设置了双向SSL,我该怎么测试?

0 个答案:

没有答案