OpenSSL自签名SSL证书的详细步骤
海外云服务器 40个地区可选 亚太云服务器 香港 日本 韩国
云虚拟主机 个人和企业网站的理想选择 俄罗斯电商外贸虚拟主机 赠送SSL证书
美国云虚拟主机 助力出海企业低成本上云 WAF网站防火墙 为您的业务网站保驾护航
为了使用 OpenSSL 自签名的 SSL 证书,首先需要生成自签名 CA 的密钥对,通过openssl req
命令创建 CSR(证书请求),使用openssl x509
命令生成带有有效期的自签名证书,配置服务器以信任该自签名证书,这个过程确保了客户端可以验证服务器的身份,而无需依赖可信第三方证书颁发机构 (CA)。
准备工作
安装 OpenSSL
你需要确保你的系统上已经安装了 OpenSSL,如果没有安装,可以按照以下命令进行安装:
sudo apt-get update sudo apt-get install openssl
生成 CA 私钥文件
使用 openssl
命令生成一个私钥文件,私钥用于创建 CA。
openssl genpkey -algorithm RSA -out ca.key -aes256
这里的 -algorithm RSA
指定了密钥算法为 RSA,-out ca.key
将私钥保存到名为 ca.key
的文件中,-aes256
表示使用 AES256 加密保护私钥。
生成 CA 签名模板
使用生成的私钥来创建一个 CA 签名模板,这个模板将在后续步骤中用于签名其他证书。
openssl req -new -x509 -nodes -days 3650 -key ca.key -out ca.crt
这条命令会生成一个具有3650天有效期的 CA 证书,并将其存储在 ca.crt
文件中。
配置 CA 设置
在实际部署中,你可能需要调整一些设置,比如添加更多约束条件或更改过期时间等,这可以通过修改 openssl.cnf
文件来进行。
生成服务器证书
生成服务器私钥
使用 openssl genpkey
命令生成服务器的私钥。
openssl genpkey -algorithm RSA -out server.key -aes256
同样,使用相同的密钥模板生成客户证书。
openssl req -new -sha256 -key server.key -out server.csr
提交 CSR 和 CA 证书请求
使用之前生成的客户证书和 CA 证书的模板向 CA 提交证书请求。
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 3650 -sha256
安装和验证
安装客户端证书
将服务器证书下载并导入到客户端的信任库中,大多数操作系统都支持通过 /etc/ssl/certs
目录下的链文件自动完成此操作。
验证 SSL 证书
可以使用 openssl s_client
命令验证服务器证书的有效性和完整性。
openssl s_client -connect your.server.address:port
如果一切正常,你应该能看到一系列关于证书的信息,包括证书序列号、有效日期等。
通过以上步骤,你就成功地使用 OpenSSL 创建了一个自签名的 SSL 证书,这种方式不仅简单快捷,而且适用于小型项目和实验环境,在生产环境中,建议使用经过认证的 CA 来颁发正式的 SSL 证书,这样不仅能提高安全性,还能满足各种法律合规要求。