当前位置: 首页 > 知识库问答 >
问题:

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

农飞翔
2023-03-14

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

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

javax。网ssl。密钥库只是一个jks文件,其中只有一个证书。

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

我使用RestTemplate建立连接:

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

我的RestTemplate实例没有什么特别之处,我就是这样构建它的:

RestTemplate RestTemplate=新建RestTemplate();

谢谢大家。

更新日期:2019年2月14日

我想澄清一些事情。我100%确定我的代码使用TLS 1.2。如果我从密钥存储中删除证书,那么所有调用都会因SSL异常而失败。

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

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

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

共有1个答案

吴弘壮
2023-03-14

在这里查看Michal Foksa的答案。这应该是你的一个起点:如何实施TLS1。2.使用Rest模板创建Rest客户端

 类似资料:
  • 以下是完整的用户代理字符串检测脚本,包括检测呈现引擎、平台、Windows 操作系统、移动设备和游戏系统。 var client = function() { //呈现引擎 var engine = {ie: 0,gecko: 0,webkit: 0,khtml: 0,opera: 0,//完整的版本号ver: null }; //浏览器 var browser = {//主要浏览器ie: 0,f

  • null openssl pkcs12-export-in cert1.pem-inkey privkey1.pem-out cert_and_key.p12-name certificate-cafile fullchain1.pem-caname root keytool-importKeystore-destStorePAS5W0RD123-destKeypass Pas5w0rd123-d

  • 问题内容: 我刚刚开始学习数据库设计,并且我正在与Oracle 11G和SQL Developer一起工作。 我对数据库有以下3条业务规则: 每个官员必须注册一个并且只能注册一个保险公司。每个保险公司可以注册一名或多名官员 每个保险公司必须提供至少五种不同类型的保险类型。每种保险类型最多可以由4个保险公司提供,或者根本不提供 每个保险类型可以由一个或多个官员来订阅。每个官员最多可以订阅同一家公司提

  • 问题内容: 当我在Java 7中创建SSLServerSocket时,服务器正确使用了我的服务器证书和密钥。该证书是由ca的子ca颁发的。因此,从根证书到服务器证书的完整链有四个证书。完整的链位于密钥库/信任库中。 但是,当客户端连接服务器时,服务器始终只会自己发送服务器证书。这也适用于基于Java的Web服务器,例如Jetty。 因为大多数客户端仅安装了根ca证书,而没有安装两个子ca证书,所以

  • 我的问题是如何使用Completable Future。 我有一个实现Callable的类。 早点用来做—— 这将返回

  • 问题内容: 有什么方法可以使用WebDriver保存完整的网页吗? 当前,我执行getPageSource(),然后将所有内容放入html本地文件中,但是保存的页面的形状不好(奇怪的字符,没有图像,所有元素向下偏移) 请参阅以下我使用的代码: 有人可以建议我使用WebDriver在Firefox中保存完整网页的方法吗?例如自动? 问题答案: 奇怪的字符可能与写入文件的编码有关。 其他问题可能与以下