OpenSSL 生成非对称密钥对
下载地址:OpenSSL for Windows
使用 ECC 加密算法
生成签名验证证书
1. 生成ES384私钥
命令:
openssl ecparam -name secp384r1 -genkey -noout -out d:\es384_private_key.pem
参数说明:
- ecparam:用于处理椭圆曲线参数。
- -name:指定椭圆曲线算法,选项有:secp256r1、secp384r1、secp521r1。
- -genkey:生成一个私钥。
- -noout:不将输出内容显示在控制台。
- -out:指定输出文件路径和名称,私钥报错的路径和名称。
2. 创建证书签名请求(CSR)
命令: // 让你输入一些证书信息,如国家、省份、组织等。按回车可以直接跳过
openssl req -new -key d:\es384_private_key.pem -out d:\es384_csr.csr
参数说明:
- req:用于生成证书签名,表示发送请求(CSR)。
- -new:指示生成新的 CSR。
- -key:提供私钥用于签署 CSR。
- -out:指定输出文件路径保存 CSR。
3. 使用私钥签署证书并设置过期时间
命令:
openssl x509 -req -in d:\es384_csr.csr -signkey d:\es384_private_key.pem -out d:\es384_cert.pem -days 356
参数说明:
- x509:处理 X.509 证书的命令。
- -req:从证书签名请求(CSR)生成证书。
- -in:指定输入的 CSR 文件路径。
- -signkey:指定用于签署证书的私钥文件路径。
- -out:指定输出的证书文件路径。
- -days:设置证书的有效期(天数),如果想设置小时或分钟不支持。
查看证书的信息
命令:
openssl x509 -in d:\es384_cert.pem -noout -text
命令执行完成后,可以得到3个文件
es384_private_key.pem
:私钥文件,用于签名(生成加密时使用)。es384_csr.csr
:证书签名请求文件,通常用于向 CA 提交申请。es384_cert.pem
:证书文件,用于验证签名或获取公钥(验证加密时使用)。