安装OpenSSL
进入ssh终端,输入以下命令
yum install openssl -y
生成自签SSL证书
在ssh终端,输入以下命令
openssl req -x509 -newkey rsa:4096 -sha256 -days 36500 -nodes -keyout /www/wwwroot/127.0.0.1.key -out /www/wwwroot/127.0.0.1.crt -subj "/CN=localhost" -extensions SAN -config <(printf "[req]\ndistinguished_name=req\n[ SAN ]\nsubjectAltName=DNS:localhost,IP:127.0.0.1")
openssl req: 使用OpenSSL工具中的req子命令,用于处理证书请求和生成证书
-x509: 生成自签名的X.509证书
-newkey rsa:4096: 创建一个新的RSA密钥对,密钥长度为4096位
-sha256: 使用SHA-256算法进行证书签名
-days 36500: 证书的有效期为36500天(约100年)
-nodes: 生成的私钥不加密,移除此参数,生成时会要求输入密码,为了让电脑信任域名,在电脑中安装crt证书时需要填写定义的密码才能安装成功
-keyout /www/wwwroot/127.0.0.1.key: 将生成的私钥保存到 /www/wwwroot/127.0.0.1.key 文件中
-out /www/wwwroot/127.0.0.1.crt: 将生成的证书保存到 /www/wwwroot/127.0.0.1.crt 文件中
-subj "/CN=localhost": 设置证书的主题信息,例如:-subj "/C=CN/ST=Hebei/L=Zhangjiakou/CN=localhost",C=CN表示国家代码为中国(Country=CN);ST=Hebei表示省份为河北(State=Hebei);L=Zhangjiakou表示城市为张家口(Locality=Zhangjiakou);=localhost表示CommonName为localhost,这是证书的主要标识,可以是域名或IP地址
-extensions SAN: 用于指定证书中的SubjectAlternativeName (SAN) 扩展的选项。SAN扩展允许在证书中包含除了CommonName (CN) 之外的其他主机名或 IP 地址,以增强证书的灵活性和适用性,如扩展-config
-config <(printf "[req]\ndistinguished_name=req\n[ SAN ]\nsubjectAltName=DNS:localhost,IP:127.0.0.1"): 使用内联配置来指定证书请求的配置信息,包括SAN字段,例子:nsubjectAltName=DNS:wxsnote.cn,DNS:www.wxsnote.cn,DNS:*.wxsnote.cn,IP:127.0.0.1,IP:2001:0db8:85a3:0000:0000:8a2e:0370:7334,主域名wxsnote.cn,次域名www.wxsnote.cn,泛域名*.wxsnote.cn,IPv4地址127.0.0.1,IPv6地址2001:0db8:85a3:0000:0000:8a2e:0370:7334
![图片[1]-CentOS7上自签名SSL证书生成教程-王先生笔记](https://wxsnote.cn/wp-content/uploads/2024/05/20240523165114480-image.png)
在/www/wwwroot/目录里,我们发现新增了key扩展名结尾和crt扩展名结尾的两个文件
![图片[2]-CentOS7上自签名SSL证书生成教程-王先生笔记](https://wxsnote.cn/wp-content/uploads/2024/05/20240523165315927-image.png)
使用自签SSL证书
选择key扩展名结尾的文件编辑它,复制全部内容,粘贴在网站SLL密钥(KEY)框内
![图片[3]-CentOS7上自签名SSL证书生成教程-王先生笔记](https://wxsnote.cn/wp-content/uploads/2024/05/20240523170329249-image.png)
选择crt扩展名结尾的文件编辑它,复制全部内容,粘贴在网站SLL证书(PEM格式)框内,在证书(PEM格式)框内换行再粘贴key扩展名结尾的文件中内容,将两者合并就是pem证书了
![图片[4]-CentOS7上自签名SSL证书生成教程-王先生笔记](https://wxsnote.cn/wp-content/uploads/2024/05/20240523170233812-image.png)
保存即可
让SSL证书被信任
说两个常用的,其它的方法请在评论区补充
让本地服务器信任该证书
将crt扩展名结尾的证书文件复制到/etc/pki/ca-trust/source/anchors/目录,你也可以用宝塔复制过去
sudo cp /www/wwwroot/127.0.0.1.crt /etc/pki/ca-trust/source/anchors/
更新系统中的CA证书信任列表
sudo update-ca-trust
让自己的电脑信任该证书
将crt扩展名结尾的证书下载到电脑,双击安装证书
![图片[5]-CentOS7上自签名SSL证书生成教程-王先生笔记](https://wxsnote.cn/wp-content/uploads/2024/05/20240523172756948-image.png)
因为是自签的,只能与自己自签的域名匹配,可放心安装
![图片[6]-CentOS7上自签名SSL证书生成教程-王先生笔记](https://wxsnote.cn/wp-content/uploads/2024/05/20240523172834114-image.png)
安装证书即可
![图片[7]-CentOS7上自签名SSL证书生成教程-王先生笔记](https://wxsnote.cn/wp-content/uploads/2024/05/20240523172916732-image.png)
这时你再访问网站,就不会提示不安全了
结语
通过以上步骤,你已经成功在CentOS 7系统上生成了一个自签名的HTTPS证书,可以用于本地测试或内部网络的安全通信
2024-05-23 18:57:42,某些文章具有时效性,若有错误或已失效,请在下方留言或加入QQ群:
399019539 联系群主反馈。注意一些链接无法访问可能是你网络的原因,如Github,并非资源地址失效。
登录后可快速点此处反馈,点击登录













请登录后查看评论内容