gpt4 book ai didi

Java 8 如何确保我们的代码检查完整的证书链?

转载 作者:太空宇宙 更新时间:2023-11-03 15:08:04 27 4
gpt4 key购买 nike

我有 Spring Boot 1.5 应用程序,它正在建立与某些 Web 服务的连接。在所有情况下,这些都是 TLS 1.2 连接。我通过此 JVM 参数运行我的应用程序:

-Djavax.net.ssl.keyStore=${KEYSTORE} \
-Djavax.net.ssl.keyStorePassword=${KEYSTORE_PW} -> password

javax.net.ssl.keyStore 只是一个包含单个证书的 jks 文件。

我需要回答这个问题:在设置 TLS 连接时,我怎么知道我是否在检查完整的证书链?或者只是根证书?这是否仅取决于我在我的信任库中包含的每个证书中的 CA?

我使用 RestTemplate 建立连接:

ResponseEntity<T> response = restTemplate.exchange(uri, HttpMethod.PUT, requestEntity, T.class);

我的 RestTemplate 实例没有什么花哨的,这就是我构建它的方式:

RestTemplate restTemplate = new RestTemplate();

谢谢大家。

2019 年 2 月 14 日更新

我想澄清一件事。我 100% 确定我的代码使用 TLS 1.2。如果我从我的 keystore 中删除我的证书,那么所有调用都会开始失败并提示 SSL 异常。

我正在调用的服务的证书链由叶证书和中间证书组成。他们说他们只会更新叶证书,他们是这样说的:

“如果客户端系统信任 VendorX 颁发的证书完整的链,则需要更新新的叶证书。”

让我感到困惑的部分是“完整链”。这意味着什么?这是否意味着您可以验证链的一部分或整个链?

最佳答案

检查 Michal Foksa在这里的答案。它应该是您的起点:How to enforce TLS1.2 to Rest client using Rest Template

关于Java 8 如何确保我们的代码检查完整的证书链?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54678167/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com