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:证书文件,用于验证签名或获取公钥(验证加密时使用)。