这个问题听起来我有点傻,但我在这里研究了很多问题/答案,但找不到适合我的案例的答案。
目前我正在使用RestTemplate 库为我目前正在处理的 java 库发出 HTTP 请求。为了成功地对 HTTPS URL 进行 HTTP 调用,我需要为我的 HTTP 客户端添加 SSL 配置。像这样的东西:
clientBuilder
.disableCookieManagement()
.setDefaultRequestConfig(requestConfig)
.setSSLSocketFactory(new SSLConnectionSocketFactory(SSLContexts.custom()
.loadTrustMaterial(null, new TrustSelfSignedStrategy())
.build()));
所以这个库应该作为 jar 可执行应用程序发送给用户,我知道使用自签名 SSL 证书对于一般用途来说不是一个好主意,因为可能有不承认它的 Web 服务器。我读到如果我获得了签名的 SSL 证书,那么我应该在 Keystore 上保存正确的密钥,并使用 Trustore 来确认服务器的证书。我认为我不能只将 Keystore 和 Trustore 传递给执行我的 java 库的客户端,所以我的问题是,Java 是否有内置的 SSL 证书,所以我可以以某种方式在 HTTP 客户端和内置的-in 证书将被使用。据我所知,node.js 提供了类似的东西。
谁能给我解释一下这对 java spring-boot 是如何工作的?