将自签名证书添加到信任列表

介绍

这里主要用 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
2
3
4
5
.
├── anchors
├── blocklist
├── mozilla.trust.p11-kit
└── README
  • anchors 目录, 存放受信的证书, 比如:
    1
    2
    3
    4
    anchors/
    ├── example-root-ca.pem
    ├── another-root-ca.crt
    └── my-custom-ca.pem
  • blocklist 目录, 存放不信任证书, 比如:
    1
    2
    3
    blocklist/
    ├── revoked-cert.pem
    └── untrusted-ca.crt
  • mozilla.trust.p11-kit 这个文件通常是由 Mozilla 提供的信任根证书的集合, 经过适当格式化以便与 p11-kit 一起使用. 它可以用于将 Mozilla 的根证书集成到其他应用程序中
  • README 文件包含这个目录的说明

基本使用

将证书添加到 anchorsblocklist 目录后, 运行:

1
update-ca-trust extract

其会将生成的 CA certificate bundle file (把多个证书提取到一个文件中) 并放在 /etc/ca-certificates/extracted/ 目录下.

也可以提取证书到指定目录:

1
update-ca-trust extract -o DIR

相关文件

/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 证书列表.


将自签名证书添加到信任列表
http://example.com/2024/10/03/将自签名证书添加到信任列表/
作者
Jie
发布于
2024年10月3日
许可协议