File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 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
Original file line number Diff line number Diff line change 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+ 像没有证书或被篡改、或者证书颁发机构浏览器不认可时,浏览器就会报错“当前连接不安全”
You can’t perform that action at this time.
0 commit comments