HTTPS知识点总结
熬夜把深入浅出HTTPS:从原理到实战这本书看完了,总结一些主要的知识点,另外劝告各位熬夜伤身体
TLS/SSL协议综述什么是TLS/SSL协议在早期,为了解决HTTP的安全问题,网景公司在1994年创建了SSL协议。一开始SSL协议只是浏览器的一个拓展,后来逐渐发展成一个独立协议,用于保证网络通信的认证和安全,SSL协议有SSLv1、SSLv2、SSLv3。
1996年,IETF(Internet Engineering Task Force)组织在SSLv3的基础上进一步标准化了该协议,微软为这个新协议取名TLS v1.0,目前最新的版本是TLSv1.3
TLS/SSL协议的目标TLS/SSL协议在网络模型中位于应用层和传输层之间,构建在TCP上,构建在UDP上的称为DTLS。
TLS/SSL协议有4个目标:
加密安全
通信双方的数据是安全的,不可篡改和伪造。
互操作性
TLS/SSL协议是标准的,任何开发者基于TLS/SSL RFC设计规范都可以实现该协议,开发者也很容易在应用中引入TLS ...
在RestTemplate中使用HttpComponentsClientHttpRequest解析gzip编码
Illegal character ((CTRL-CHAR, code 31)): only regular white space (\r, \n, \t) is allowed between tokens
今天在使用RestTemplate调用接口时发现无法对Gzip的数据进行解压,然后找到了这篇文章: 让RestTemplate使用和解析gzip编码。
原因文章提到RestTemplate默认不使用Gzip,也不解析 Gzip编码结果,这是因为RestTemplate默认SimpleBufferingClientHttpRequest类。通过idea可以看到RestTemplate的继承关系
在HttpAccessor类中,ClientHttpRequestFactory这个private属性的默认值为一个SimpleClientHttpRequestFactory对象
RestTemplate在获取数据时getForObject、getForEntity、postForObject、postForEntity、exchange等方法最终都是调用execute ...
申请Let’s Encrypt的免费SSL证书并在SpringBoot中使用
最近有想法申请一个SSL证书,阿里每年可以免费申请20个单域名证书,虽然够用但不是泛域名的证书,遂盯上了Let’s Encrypt。
Arch在安装上安装acme.sh1pacman -S acme.sh
注册账号1acme.sh --register-account --email XXX@XX.com
注册账号时可以指定邮箱,当有重要事项发生时,Let’s Encrypt会发送邮件进行通知
续期证书没有限制,需要注意的是如果证书的有效期大于30天续期操作没有任何作用,证书的有效期是90天,一旦证书的剩余有效期小于30天Let’s Encrypt会发送邮件提醒用户续期证书
方法一 : 手动申请证书申请证书的方式有多种,此处只介绍最方便的一种
1acme.sh --issue -d '*.codexvn.top' --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please
结果为:
123456789101112131415161718[2021年 03月 24日 星期三 17:39:39 CST] ...