openssl生成pfx证书

PKCS#12(.p12 或 .pfx)是一种常用的证书封装格式,通常包含私钥、公钥证书以及可选的CA证书链,并通过密码保护。以下是使用 OpenSSL 生成 PKCS#12 证书的完整流程。

步骤 1:生成私钥

1
openssl genpkey -algorithm RSA -out private.key -aes256

此命令生成一个 2048位RSA私钥 并使用 AES-256 加密,系统会提示输入保护私钥的密码。

步骤 2:生成证书签名请求(CSR)

1
openssl req -new -key private.key -out request.csr

根据提示填写国家、组织、域名等信息,这些将写入证书中。

步骤 3:生成自签名证书

1
2
openssl x509 -req -days 365 -in request.csr \ 
-signkey private.key -out certificate.crt

该命令生成一个有效期为 365天 的自签名 X.509 证书。

步骤 4:导出 PKCS#12 文件

1
2
3
4
5
openssl pkcs12 -export \
-in certificate.crt \
-inkey private.key \
-out certificate.p12 \
-name "MyCert"

执行时会提示输入导出密码,用于保护 .p12 文件中的私钥。

步骤 5:验证 PKCS#12 文件

1
openssl pkcs12 -info -in certificate.p12

可查看 .p12 文件中包含的证书和私钥信息。

最佳实践与提示:

若需包含 CA 链,可在导出时添加 -chain -CAfile ca.crt 参数。

私钥建议使用强加密算法(如 AES-256)并妥善保存。

.p12 文件常用于 HTTPS服务器部署、客户端身份认证 或 代码签名 场景。

这样即可从零生成一个安全的 PKCS#12 格式证书,并可直接用于 Nginx、Tomcat、Java Keystore 等环境。