自签 CA 证书的正确创建方式

人老了脑子不行,每次配置环境都会忘记,然后又到处翻几个小时资料,大多还是靠不住的,干脆自己记录下来。

1. 首先创建 CA 的私钥(private key)

1
$ openssl genrsa -out rootCA.key 4096

如果需要加密私钥,可以带 -des3 等参数。

如果是创建 mitmproxy 用的 CA,必须是未加密的。

2. 然后修改 x509v3 extension 的配置文件

原始文件可以从 /etc/ssl/openssl.cnf 获取。

1
2
$ cp /etc/ssl/openssl.cnf ~/tmp
$ vi ~/tmp/openssl.cnf

找到 [ v3_ca ] 项目,向其中添加一行 keyUsage = critical, keyCertSign,保存到当前路径下。

3. 最后生成 CA 证书文件(public key)

1
$ openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 3650 -config openssl.cnf -out rootCA.crt

如果是给 mitmproxy 用,需要把先前生成的 private key 和最后一步生成的 public key 合到同一个文件里,并且把文件名修改为 mitmproxy-ca.pem, 放到任意的路径去。运行 mitmproxy 时执行

1
$ mitmweb --mode transparent --set confdir=~/.mitmproxy/myca -k

其中 confdir=~/.mitmproxy/mycamitmproxy-ca.pem 的绝对路径。 就可以使用自定义 CA 启动 mitmproxy 了。

References

 Comments
Comment plugin failed to load
Loading comment plugin