Skip to content

Commit 5ccfe13

Browse files
committed
docs: SSL
1 parent e0ec604 commit 5ccfe13

2 files changed

Lines changed: 41 additions & 0 deletions

File tree

network/SSL-chore.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// 服务器返回的证书链
2+
openssl s_client -connect example.com:443 -showcerts
3+
4+
// 验证路径
5+
openssl s_client -connect example.com:443 -verify 5
6+
7+
浏览器中查看CA直接在URL处点开即可
8+
9+
服务器要求的 CA 列表
10+
openssl s_client -connect example.com:443 -tls1_2
11+
12+
系统信任的CA
13+
security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain

network/SSL.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
理想的,A用非对称加密生成 公钥1 和 私钥1 ,将 公钥1 传输给B,然后B用对称加密生成的 公钥2 对 公钥1 加密之后返回给A,那么A,B都有B生成的 公钥2 后就可以高速的对称加密传输
2+
3+
如果第一步也就是 公钥1 传给B是安全传到的,那么之后都是没问题的,问题是黑客可能在第一步就做手脚
4+
5+
问题就出在可信度上,所以 证书颁发机构 CA 出来了 (**Certificate Authority**) 颁发机构有自己的 公钥 和 私钥
6+
7+
将 第一步的公钥1、服务器地址、还有钱 给证书颁发机构,会拿到一个证书,里面有
8+
9+
1. 服务器地址
10+
2. 是哪个证书颁发机构
11+
3. 通过颁发机构私钥加密后的 公钥1
12+
4. 通过颁发机构私钥加密后的 证书签名
13+
14+
那么假如黑客还想故技重施在 公钥1 上动手脚,它没有私钥进行加密( B 会对收到的钥匙通过证书颁发机构的公钥进行解密校验 )
15+
16+
证书签名包含了 服务器地址 + CA公钥KEY + 公钥1 ,从而防止黑客更改 服务器地址、哪个证书颁发机构
17+
18+
所以所有证书内容都不会被篡改
19+
20+
需要的操作
21+
22+
服务器:申请证书
23+
24+
客户端:访问时,使用 https://xxxx
25+
26+
https的默认端口是443
27+
28+
像没有证书或被篡改、或者证书颁发机构浏览器不认可时,浏览器就会报错“当前连接不安全”

0 commit comments

Comments
 (0)