我正在使用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,我该怎么测试?