OpenSSL SSL证书的快速生成教程
海外云服务器 40个地区可选 亚太云服务器 香港 日本 韩国
云虚拟主机 个人和企业网站的理想选择 俄罗斯电商外贸虚拟主机 赠送SSL证书
美国云虚拟主机 助力出海企业低成本上云 WAF网站防火墙 为您的业务网站保驾护航
生成OpenSSL SSL证书的过程包括以下步骤:下载并安装OpenSSL;使用命令行工具进行证书请求;配置和生成自签名或非自签名证书;将证书导入服务器以供安全通信,此指南详细说明了每个步骤的操作方法,确保用户能够成功创建所需的SSL证书。
OpenSSH 安装
确保你的系统上已安装 OpenSSH,多数 Linux 发行版和操作系统都预装了 OpenSSH,如果你使用的是 Windows,可以从 OpenSSH 官方网站 下载并安装最新版本。
证书目录结构
在开始前,你需要为你的项目创建一个适当的目录结构,这个目录通常包含以下几个文件夹:
mkdir -p certs/cert request/private keys ca/intermediate
生成自签名证书
生成一个自签名的根证书:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ -out server.crt -keyout server.key -subj "/CN=localhost"
解释:
-x509
: 生成 X.509 证书。-nodes
: 不保存私钥密码提示。-days 365
: 证书有效期为一年。-newkey rsa:2048
: 创建一个新的 RSA 密钥对,密钥长度为 2048 位。-out server.crt
: 输出到服务器证书文件。-keyout server.key
: 输出到服务器私钥文件。-subj "/CN=localhost"
: 设置证书的 Subject Name 为 localhost,表示这是一个本地服务器证书。
生成客户端证书请求
生成一个客户端证书请求,用于签署新的客户端证书:
openssl req -newkey rsa:2048 -nodes -sha256 -days 365 -keyout client.key \ -out client.csr -subj "/CN=example.com/O=myCompany"
解释:
-newkey rsa:2048
: 创建一个新的 RSA 密钥对。-nodes
: 不保存私钥密码提示。-sha256
: 使用 SHA-256 哈希算法。-days 365
: 证书有效期为一年。-keyout client.key
: 输出到客户端私钥文件。-out client.csr
: 输出到客户端证书请求文件。-subj "/CN=example.com/O=myCompany"
: 设置证书的 Subject Name 为 example.com,并指定公司名称。
签发客户端证书
将客户端证书请求转换为实际的客户端证书:
openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt -days 365 -signkey client.key -sha256
解释:
-req
: 表示请求模式。-in client.csr
: 输入客户端证书请求文件。-CA ca.crt
: 指定根证书路径。-CAkey ca.key
: 指定根证书私钥路径。-CAcreateserial
: 自动创建证书序列号。-out client.crt
: 输出到客户端证书文件。-days 365
: 证书有效期为一年。-signkey client.key
: 使用客户端私钥进行签名。-sha256
: 使用 SHA-256 哈希算法。
通过以上步骤,你已经成功生成了一个完整的 SSL 证书套件,包括一个服务器证书和两个客户端证书,这适用于测试环境或本地开发,但请在正式部署时选择更可靠的认证机构来颁发证书,确保所有证书都经过有效的验证和合规性检查,以保障网络安全。