在https加密已成为网站标配的今天,经常需要为测试环境、内网应用或特定服务配置https证书,openssl作为最强大的开源加密工具库,是生成和管理https证书的事实标准,本文将详细介绍openssl生成https证书的方法。
一、openssl环境准备
在开始之前你的系统中应当已安装openssl,绝大多数Linux发行版(如Ubuntu、CentOS、Alibaba Cloud Linux)都预装了openssl,Windows用户可通过WSL或下载Windows版openssl使用。
openssl生成https证书的核心流程通常包括:
1、生成私钥:证书的加密核心,需妥善保管;
2、创建证书签名请求:包含公钥和身份信息;
3、签发证书:自签名或由SSL证书颁发机构(CA)签名。

二、生成自签名证书(适合测试环境)
对于开发测试或内部使用,最简单的openssl生成https证书的方法是使用单条命令生成自签名SSL证书,这种方法无需搭建CA体系,几分钟内即可获得可用证书。
步骤1:生成RSA私钥
openssl genrsa-out server.key 2048
这里生成2048位的RSA私钥,也可使用-aes256参数加密私钥。
步骤2:创建证书签名请求
openssl req-new-key server.key-out server.csr
系统会交互式询问国家、组织、CN等信息。对于https证书,CN必须填写你的域名或IP地址。
步骤3:签发自签名证书
openssl x509-req-days 365-in server.csr-signkey server.key-out server.crt
此命令使用私钥对CSR进行自签名,生成最终证书。
三、常见问题与注意事项
1、浏览器显示“不安全”:最常见原因是证书为自签名且未导入CA、CN与访问域名不匹配或缺少SAN扩展。
2、私钥权限:私钥文件应设置为600权限,防止泄露:
chmod 600 server.key
3、SSL证书链完整:如果使用了中间CA,需在服务器配置中包含完整链。
4、有效期管理:自签名证书到期后需重新签发。生产环境建议使用Let’s Encrypt等自动化工具。
本文详细介绍了使用openssl生成https证书的方法,无论是开发测试还是内部生产环境,掌握这个方法都能让你灵活应对各种加密需求。记住,对于面向公众的网站,仍建议申请受信任的https证书。
相关推荐:《ssl证书生成key和pem怎么操作》



