【发布时间】:2020-04-22 04:31:28
【问题描述】:
我从客户端获得了两个.cer 文件,现在我的目标是使用 https 而不是使用 spring webclient 的 http 来访问客户端 api。因为我是 spring webclient 的新手,所以不知道该怎么做
我已使用以下命令在密钥库中导入了两个 .cer
keytool -import -file "C:\Users\ankur\Download\Entrust_Root_Certification_Authority-G2.cer" -keystore "C:\Program Files\Java\jre1.8.0_40\lib\security\cacerts" -storepass "changeit"
keytool -import -file "C:\Users\ankur\Download\certificate\Entrust_Certification_Authority-L1K.cer" -keystore "C:\Program Files\Java\jre1.8.0_40\lib\security\cacerts" -storepass "changeit
我在下面写了代码,以便从 webclient 以编程方式访问 api
@Bean
public WebClient createWebClient() throws SSLException {
SslContext sslContext = SslContextBuilder
.forClient()
.trustManager(InsecureTrustManagerFactory.INSTANCE)
.build();
HttpClient httpClient = HttpClient
.create()
.secure(sslContextSpec -> sslContextSpec.sslContext(sslContext));
ClientHttpConnector connector = new ReactorClientHttpConnector(httpClient);
return WebClient.builder()
.clientConnector(connector).build();
}
application.yml
rest:
endpoint:https://someexample.com/xyz
我不知道如何处理 .cer 文件在哪里存储这些 .cer 文件,我们是否需要在 spring boot 的资源文件夹中包含任何示例或链接,谢谢
【问题讨论】:
标签: java spring-boot web-services ssl-certificate spring-webclient