在构建Firefox之前,我必须向Firefox添加一些证书。然后使用此证书对其进行测试。我知道证书被硬编码到证书数据.txt中,位于以下位置:
mozilla-sourcemozilla-centralsecuritynsslibckfwbuiltins
我尝试使用nss-tools
中的addbuilit
将证书添加到certdata.txt
中。但是在构建它之后,我遇到了错误。
编译器在读取certdata.txt
时显示此错误:
0:49.23 c:/mozilla-source/mozilla-central/obj-x86_64-pc-mingw32/security/nss/lib/ckfw/builtins/builtins_nssckbi/certdata.c(20983,1):警告:缺少终止"字符 [-Winvalid-pp-token] 0:49.23 "\152\270\202\165\004\122\100\146\207\136\301\151\270\325\275\134
实际上这很容易做到。
首先,您需要一个nss
和nspr
,因为 Mozilla 安装程序内置nss
没有我们需要addbuiltin
功能。
下载适用于视窗的 NSS
下载适用于视窗的 Nspr
第二步
解压缩这两个文件。
然后将 NSPR/lib 文件夹的内容复制到 NSS/bin 文件夹
将您的证书和证书.txt复制到 NSS/bin 文件夹。注意:您的证书应采用.der
格式!
第三步
运行以下代码:
addbuiltin -n "My certificate name" -t "CT,C,C" < CAcert.der >> certdata.txt
My certificate name
- 将添加到certutil.txt.
的证书的名称
CT,C,C
- 证书的受信任属性。
CAcert.der
- 证书本身。
certdata.txt
- 包含文件的证书。
但是在复制 certutil 之前.txt回到源代码,你必须再做一件事。 在记事本++中打开certutil.txt然后通过Menu View → Show Symbol → Show All Characters
打开隐藏字符。然后将/r/n
更改为/n
。