传输层安全 (TLS) 实验
完成条件
在上一个任务中,我们使用 /etc/ssl/certs 文件夹中的证书来验证服务器的证书。在此任务中,我们将创建自己的证书文件夹,并将相应的证书放在该文件夹中用于验证。
请创建一个名为 certs 的文件夹,并将客户端程序中的 cadir 行更改为以下内容。运行客户端程序并报告你的观察结果。
cadir = './certs'
你需要将相应的 CA 证书放入 certs 文件夹中。请使用你的客户端程序查找需要哪些 CA 证书来验证 www.example.com 服务器的证书,然后将证书从 /etc/ssl/certs 复制到你自己的文件夹中。再次运行你的客户端程序。如果你正确完成了所有操作,你的客户端程序应该可以与服务器对话。
请注意,将CA的证书复制到 ./certs 文件夹是不够的。当 TLS 试图验证服务器证书时,它用颁发者的标识信息生成哈希值,将此哈希值用作文件名的一部分,然后使用该名称在 certs 文件夹中查找颁发者的证书。因此,我们需要使用 subject 字段生成的哈希值来重命名每个 CA 的证书,或者我们可以用哈希值创建符号链接。在以下命令中,我们使用 Openssl 生成哈希值,然后将其用于创建符号链接。
$ openssl x509 -in someCA.crt -noout -subject_hash
4a6481c9
$ ln -s someCA.crt 4a6481c9.0
$ ls -l
total 4
lrwxrwxrwx 1 ... 4a6481c9.0 -> someCA.crt
-rw-r--r-- 1 ... someCA.crt
额外要求。请对使用不同 CA 证书的两个不同 Web 服务器执行此任务。
最后修改: 2025年05月13日 星期二 09:02