📌  相关文章
📜  生成 pfx 证书 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:11:13.194000             🧑  作者: Mango

生成 pfx 证书 - Shell/Bash

在 Web 开发中,SSL/TLS 加密是绝对必须的,而 SSL/TLS 加密要使用证书来验证服务器的身份。在 *nix 系统中,常常使用 OpenSSL 工具生成证书。本文将介绍如何使用 Shell/Bash 命令生成 pfx 证书。

准备工作

首先需要在本地安装 OpenSSL 工具,该工具通常已经安装在 *nix 系统中。

创建证书请求

首先需要生成证书请求文件(Certificate Signing Request,缩写 CSR),可以使用下面的 OpenSSL 命令来生成:

openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr

解释一下上面的各个参数:

  • req:使用 OpenSSL 工具的请求命令。
  • -new:生成新证书请求。
  • -newkey rsa:2048:使用 RSA 算法生成一个 2048 位的密钥。
  • -nodes:不加密生成的密钥文件。
  • -keyout server.key:将生成的私钥保存到 server.key 文件。
  • -out server.csr:将生成的证书请求保存到 server.csr 文件。

执行上述命令后,需要输入一些证书详细信息,例如:

Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:California
Locality Name (eg, city) []:San Francisco
Organization Name (eg, company) [Internet Widgits Pty Ltd]:My Company
Organizational Unit Name (eg, section) []:IT
Common Name (e.g. server FQDN or YOUR name) []:example.com
Email Address []:webmaster@example.com

填写完信息后,会生成 server.key 和 server.csr 两个文件。

生成 pfx 证书

有了证书请求文件,我们就可以生成证书了。使用下面的命令生成 pfx 证书:

openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt

解释一下上面的各个参数:

  • pkcs12:使用 OpenSSL 工具的 PKCS#12 命令。
  • -export:将密钥与证书合成一个 PKCS#12 证书。
  • -out server.pfx:将生成的证书保存到 server.pfx 文件。
  • -inkey server.key:使用之前生成的私钥文件。
  • -in server.crt:使用之前通过证书请求文件生成的证书文件 server.crt。

在执行此命令后,需要设置一个密码保护生成的 pfx 文件。输入所需密码后,会生成一个含有证书、私钥及其密码的 pfx 文件。

结论

使用上述命令,您就可以轻松地生成一个 pfx 证书。这个证书可以用于部署到网站或者其他需要 SSL/TLS 加密的场合。