📅  最后修改于: 2023-12-03 15:11:13.194000             🧑  作者: Mango
在 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 证书:
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 加密的场合。