为测试添加证书¶
有时我们需要为需要自定义客户端、服务器或证书颁发机构 (CA) 证书的场景编写测试。为此,您可以使用 build/pgo/genpgocert.py 生成此类证书。
证书规范(以及密钥规范)位于 build/pgo/certs/ 中。
要添加新的**服务器证书**,请将 ${cert_name}.certspec 文件添加到该文件夹中。如果它需要非默认私钥,请添加相应的 ${cert_name}.server.keyspec。
对于新的**客户端证书**,请添加 ${cert_name}.client.keyspec 和相应的 ${cert_name}.certspec。
要添加新的**CA**,请添加 ${cert_name}.ca.keyspec 以及相应的 ${cert_name}.certspec 到该文件夹中。
提示
.certspec 文件的完整语法记录在 https://searchfox.org/mozilla-central/source/security/manager/tools/pycert.py
.keyspec 文件的完整语法记录在 https://searchfox.org/mozilla-central/source/security/manager/tools/pykey.py
然后通过运行以下命令重新生成证书:
./mach python build/pgo/genpgocert.py
这些命令将修改 cert9.db 和 key4.db,如果您添加了 .keyspec 文件,则会生成 {$cert_name}.client 或 {$cert_name}.ca 文件。
这些文件需要提交。
如果您创建了一个新的服务器证书,您可能希望修改 build/pgo/server-locations.txt 以添加具有您指定证书的位置:
https://my-test.example.com:443 cert=${cert_name}
之后,您需要再次运行 ./mach build。
重要
确保严格遵循命名约定并在所有地方使用相同的 cert_name