将自签名证书添加到信任列表
介绍
这里主要用 update-ca-trust
命令, 其用于管理信任源, 以及提取和更新证书.
详细内容可查看 man update-ca-trust
.
一些概念
PEM 格式
PEM, Privacy Enhaced Mail, 是广泛用于存储和传输加密数据的文件格式. 下面后缀的文件都属于 PEM 格式:
.pem
.crt
(证书).cer
(证书).key
(私钥).p7b
(PKCS#7)
文件内容都是 ASCII 编码, 便于传输.
Root CA certificates
即可信机构发布的数字证书, 用于建立和验证 SSL/TLS 连接的信任链.
CA certificate bundle file
是一个包含多个根证书的文件 (一个文件里有多个证书信息), 用于验证 SSL/TLS 连接的安全性.
目录结构和优先级
/usr/share/ca-certificates/trust-source/
目录的优先级低于 /etc/ca-certificates/trust-source/
/usr/share/ca-certificates/trust-source/
目录的文件结构为:
1 |
|
anchors
目录, 存放受信的证书, 比如:1
2
3
4anchors/
├── example-root-ca.pem
├── another-root-ca.crt
└── my-custom-ca.pemblocklist
目录, 存放不信任证书, 比如:1
2
3blocklist/
├── revoked-cert.pem
└── untrusted-ca.crtmozilla.trust.p11-kit
这个文件通常是由 Mozilla 提供的信任根证书的集合, 经过适当格式化以便与 p11-kit 一起使用. 它可以用于将 Mozilla 的根证书集成到其他应用程序中README
文件包含这个目录的说明
基本使用
将证书添加到 anchors
或 blocklist
目录后, 运行:
1 |
|
其会将生成的 CA certificate bundle file (把多个证书提取到一个文件中) 并放在 /etc/ca-certificates/extracted/
目录下.
也可以提取证书到指定目录:
1 |
|
相关文件
/etc/ssl/cert.pem
其为一个符号链接, 指向 update-ca-trust
命令生成的 bundle 文件, 包含 CA 证书列表.
/etc/ssl/certs/
该目录包含各个单独的 CA 证书, 同样是符号链接 /etc/ca-certificates/extracted/catdir/
目录下的证书文件.
/etc/ssl/certs/ca-certificates.crt
为了与 RHEL/Fedora 兼容, 同样是一个符号链接, 指向 update-ca-trust
命令生成的 bundle 文件, 包含 CA 证书列表.
/etc/ssl/certs/ca-certificates.crt
为了与 Debian 兼容, 同样是一个符号链接, 指向 update-ca-trust
命令生成的 bundle 文件, 包含 CA 证书列表.
/etc/ssl/certs/java/cacerts
以 Java 密钥库文件格式存储, 同样是一个符号链接, 指向 update-ca-trust
命令生成的 bundle 文件, 包含 CA 证书列表.