在网站开发、内部系统测试或微服务架构部署中,https加密已成为基本要求。但正式环境证书需要付费和审核流程,对于开发和测试环境并不实用,这时Openssl这个开源工具包就显示出了它的价值,Openssl生成https证书可以为各种需要加密通信的场景提供临时但有效的解决方案。

一、Openssl生成https证书的步骤
第一步:需要安装Openssl的最新版本,并创建一个专用目录存放证书文件,便于管理:
mkdir~/ssl_certs
cd~/ssl_certs
第二步:生成私钥文件
私钥是证书安全的基础,必须严格保密,生成一个2048位的RSA私钥:
openssl genrsa-out server.key 2048
对于更高安全要求的环境,可以使用4096位密钥,但这会增加计算负载。生成的`server.key`文件应设置严格权限,防止未授权访问:
chmod 600 server.key#Linux/macOS
第三步:创建证书签名请求(CSR)
CSR包含将要在证书中显示的信息,用于向CA申请证书或自签名:
openssl req-new-key server.key-out server.csr
执行此命令后,会交互式询问证书信息,对于测试用途,除通用名称外,其他字段可直接按回车使用默认值。
第四步:生成自签名SSL证书
使用私钥和CSR创建有效期为365天的自签名证书:
openssl x509-req-days 365-in server.csr-signkey server.key-out server.crt
如果需要更长的有效期,可调整-days参数。生成的server.crt即为最终证书文件,将生成的https证书部署在服务器中即可使用。
二、解决浏览器安全警告
自签名证书会被浏览器标记为“不安全”,可通过以下方式解决:
1、将证书导入系统信任库
Windows:双击.crt文件,选择“安装证书”,放入“受信任的根证书颁发机构”
macOS:使用钥匙串访问工具导入,并设置为始终信任
Linux:复制到`/usr/local/share/ca-certificates/`后执行`update-ca-certificates`
Openssl生成https证书实际上生成的是自签名证书,它可以解决开发和测试环境中的加密需求,但无法获得浏览器的自动信任,如果是对外公开的商业型网站建议选择正规品牌的付费https证书更加稳妥。
相关推荐:《通配符SSL证书部署在多台服务器上可以吗》
