https、quic都要使用证书,但是过期后,如何认证或改换环境后,如何新建根证书呢?
系统要安装此工具,Debian/Ubuntu: sudo apt-get install libnss3-tools,其他系统如Fedora: su -c "yum install nss-tools"
certutil -d sql:$HOME/.pki/nssdb -L
用命令生成证书后,会产生很多文件。其中要把2048-sha256-root.pem,转成crt,再复制到指定目录中。
3.1如果证书不是DER格式的话,请先用下面的命令对其进行转化
openssl x509 -outform der -in charles.pem -out charles.crt
3.2将要导入的证书拷贝到一个特定目录下
sudo cp charles.crt /usr/local/share/ca-certificates/charles.crt
3.3更新
sudo update-ca-certificates
certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n <certificate nickname> -i <certificate filename>
新增时,需要输入密码,若密码不正确,只能新增成临时证书。例如:certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n GoAgent -i ~/programs/goagent/local/CA.crt
certutil -d sql:$HOME/.pki/nssdb -D -n <certificate nickname>
新增证书时,忘记密码或数据库损坏,报错:certutil: function failed: security library: bad database.要初始化环境,步骤如下:
mv ~/.pki/nssdb ~/.pki/nssdb.corrupted
mkdir ~/.pki/nssdb
chmod 700 ~/.pki/nssdb
certutil -d sql:$HOME/.pki/nssdb -N
Enter a password which will be used to encrypt your keys.要记住此密码