OpenSSL安装与自签名证书

3289 2019-04-22 OpenSSL

在日常开发过程中,我们经常会需要使用https来进行开发和测试,往下看。
使用 OpenSSL 生成证书的过程一般包括生成私钥、生成证书签名请求(CSR)、以及使用私钥签署证书。
下面是一个常见的生成证书的流程,假设我们要生成一个自签名的证书。
OpenSSL for Windows下载地址:Win64OpenSSL-3_4_0.exe

一、安装 OpenSSL:

  1. 下载完成后,双击.exe安装文件进行安装。
  2. 在安装过程中,会有一个提示框询问是否要将 OpenSSL 添加到系统的 PATH 环境变量中。推荐选择 "Add OpenSSL to the system PATH",这样你就可以在命令行中直接使用 OpenSSL。

如果没有选择自动配置环境变量,你也可以手动配置环境变量:
  • 右键点击 “此电脑”(或 “计算机”)图标,选择“属性”
  • 点击 “高级系统设置”,然后点击 “环境变量”
  • “系统变量” 中,找到Path,并点击“编辑”
  • 点击“新建” ,然后输入 OpenSSL 的安装路径,例如 C:\Program Files\OpenSSL\bin。
  • 点击“确定”保存。
  • 重启电脑让配置生效。

二、验证 OpenSSL 是否安装成功:

安装完成后,打开 命令提示符(可以按 Win + R,输入 cmd 打开)并输入以下命令:

openssl version
            

如果 OpenSSL 安装成功,应该会显示 OpenSSL 的版本信息,例如:

OpenSSL 3.4.0 22 Oct 2024 (Library: OpenSSL 3.4.0 22 Oct 2024)
            

如果显示了版本信息,说明 OpenSSL 已经安装成功,并且环境变量配置正确。

三、生成私钥(Private Key)

首先,需要生成一个私钥。私钥是证书的核心部分,必须保密。

openssl genpkey -algorithm RSA -out private.key -aes256
  • -algorithm RSA 指定了生成 RSA 算法的私钥。
  • -out private.key 指定了生成的私钥文件名。
  • -aes256 使用 AES-256 加密私钥文件,可以根据需要更换加密算法。

四、生成证书签名请求(CSR)

接下来,生成证书签名请求(CSR)。CSR 文件通常用于向 CA 请求签署证书,但我们也可以使用它来生成自签名证书。

openssl req -new -key private.key -out request.csr
  • -new 表示生成新的请求。
  • -key private.key 使用之前生成的私钥。
  • -out request.csr 指定 CSR 文件的输出文件名。

在生成 CSR 时,OpenSSL 会提示你输入一些关于证书的信息,例如:

  • 国家代码(Country Name)
  • 省/自治区(State or Province Name)
  • 城市(Locality Name)
  • 组织(Organization Name)
  • 单位(Organizational Unit Name)
  • 公共名称(Common Name,通常是域名或主机名)
  • 电子邮件地址(Email Address)

五、使用私钥签署证书(生成自签名证书)

生成证书签名请求后,可以使用私钥来签署证书并生成自签名证书。

openssl x509 -req -in request.csr -signkey private.key -out certificate.crt -days 365
  • -req 表示是 CSR 请求文件。
  • -in request.csr 是你刚才生成的 CSR 文件。
  • -signkey private.key 使用之前生成的私钥签署证书。
  • -out certificate.crt 指定生成的证书文件名。
  • -days 365 设置证书的有效期(单位:天)。

六、验证证书

生成证书后,你可以使用以下命令查看证书内容:

openssl x509 -in certificate.crt -text -noout

这将显示证书的详细信息。

七、注意事项

通过这些步骤,你就能生成自己的私钥和自签名证书。这种证书适用于测试和开发环境,但不适合生产环境。

在生产环境中,通常需要通过受信任的证书颁发机构(CA)来签署证书。