spring 的 RestTemplate 是不是可以直接就能访问 https 接口的?

2020-06-05 10:52:27 +08:00
 luxinfl

网上搜一堆,我看都是要先初始化 sslcontext,自定义 ClientHttpRequestFactory,然后 new RestTemplate(factory).exec(....)。但是我自己没有配置这些,直接注入 restTemplate 也能访问。。请问这个是有啥区别吗?

2454 次点击
所在节点    程序员
11 条回复
guyeu
2020-06-05 10:59:17 +08:00
私人自建的站点证书可能没有被签发,所以需要手动添加信任。
chendy
2020-06-05 11:05:54 +08:00
有时候不用配,有时候需要配,比如证书不是 java 默认信任的 ca 签发的,比如要配置客户端证书
luxinfl
2020-06-05 11:11:49 +08:00
@guyeu 所以我可能理解,这个初始化 sslcontext 只是用来加载证书的么。。。
luxinfl
2020-06-05 11:12:21 +08:00
@chendy 所以配置步骤单纯只是用来加载证书的是吧。。不需要证书的可以不用管
guyeu
2020-06-05 11:19:02 +08:00
@luxinfl #3 https 一定要证书的
luxinfl
2020-06-05 11:29:36 +08:00
@guyeu 那我直接 new RestTemplate().getForEntity("https://www.baidu.com",String.class) 也可以访问啊
guyeu
2020-06-05 11:42:30 +08:00
@luxinfl #6 那是因为 HTTP 可以从签发机构获取到证书。。。
guyeu
2020-06-05 11:43:00 +08:00
@luxinfl #6 建议去了解一下 tsl 是怎么工作的
chendy
2020-06-05 12:12:09 +08:00
@luxinfl #4 不需要“额外”配置证书就不需要,主要的 ca 的证书都是默认配置好了的
luxinfl
2020-06-05 13:56:01 +08:00
@guyeu
@chendy
谢谢大佬,是我理解偏差了。。
hantsy
2020-06-05 16:32:14 +08:00
运行环境的 jre 不能识别的要另外加载 crt 吧, 或者直接全局安装到运行 Jre 的证书目录下去。记不清了,以前弄过。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/678876

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX