为测试添加证书¶
有时我们需要为需要自定义客户端、服务器或证书颁发机构 (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