Menu
CoddyTech

证书与信任

Coddy 使用终端进行网络通信 课程的第 40 课,共 47 课。

在握手期间,服务器会出示一份证书:它是一份说明证书对应哪个主机、何时过期以及由谁为它背书的文档。

任何人都可以生成一份声称对应任意主机的证书,因此关键在于签名。证书由证书颁发机构签名,你的计算机出厂时就附带一份它信任的颁发机构列表:

ls -l /etc/ssl/certs/ca-certificates.crt

你的客户端会检查三件事:证书是否由列表中的某个颁发机构签发,是否已过期,以及证书上的名称是否与您请求的主机匹配。任何一项检查失败,连接都会中断。

最后这项检查解释了为什么通过 IP 访问的内部服务即使证书有效也经常会失败:证书对应的是一个名称,而你请求的是一个数字。

challenge icon

挑战

中等

查找你的机器信任的证书颁发机构列表。

检查 /etc/ssl/certs/ca-certificates.crt 是否存在,如果存在则打印 ca bundle present,否则打印 missing。

预期输出:

ca bundle present

你建立的每个 TLS 连接都会根据此文件进行检查。

亲手试试

终端
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

使用终端进行网络通信中的所有课

自己练习: Terminal 在线编辑器