为了测试一些东西,我需要创建一堆不受信任的 p12 证书,供不受信任的 Web 服务器使用。我阅读了 openssl 文档并尝试按照说明操作,但过程非常复杂、烦人且容易出错。有没有一种简单的方法(GUI、Web 应用程序)来获取由不受信任的假 CA 签名的具有任意主题的服务器证书。
裸 OpenSSL 命令行工具不是一个选项,因为该过程很复杂且容易出错。如果有可以简化它的脚本,我很乐意听听。
答案1
如果简化它的脚本就足够了,那么:
#!/bin/sh
subject="/O=Honest Achmed/OU=Fake Certs/CN=google.com"
file="google"
颁发自签名证书(启用CA位):
openssl req -new -newkey rsa:2048 -days 365 -subj "$subject" \
-x509 -out "$file.pem" -keyout "$file.key" -nodes
颁发 CA 签名的证书:
openssl req -new -newkey rsa:2048 -days 365 -subj "$subject" \
-out "$file.csr" -keyout "$file.key" -nodes
openssl x509 -req -in "$file.csr" -out "$file.pem" \
-CA "$cafile.pem" -CAkey "$cafile.key" -CAserial "serial.txt"
导出至 PKCS#12:
openssl pkcs12 -export -in "$file.pem" -inkey "$file.key" -out "$file.p12"
替代工具是certtool
来自 GnuTLS 和hx509
来自海姆达尔。