CentOS7上自签名SSL证书生成教程

自签证书是免费的,不是CA机构颁发的证书,仅适用于测试和内部使用,生成的证书外人访问会提示不安全。本文讲的是如何自己自签一个SSL证书供自己使用。CentOS7上生成自签名SSL证书很简单,下面来看教程。

安装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证书生成教程-王先生笔记

/www/wwwroot/目录里,我们发现新增了key扩展名结尾和crt扩展名结尾的两个文件

图片[2]-CentOS7上自签名SSL证书生成教程-王先生笔记

使用自签SSL证书

选择key扩展名结尾的文件编辑它,复制全部内容,粘贴在网站SLL密钥(KEY)框内

图片[3]-CentOS7上自签名SSL证书生成教程-王先生笔记

选择crt扩展名结尾的文件编辑它,复制全部内容,粘贴在网站SLL证书(PEM格式)框内,在证书(PEM格式)框内换行再粘贴key扩展名结尾的文件中内容,将两者合并就是pem证书了

图片[4]-CentOS7上自签名SSL证书生成教程-王先生笔记

保存即可

让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证书生成教程-王先生笔记

因为是自签的,只能与自己自签的域名匹配,可放心安装

图片[6]-CentOS7上自签名SSL证书生成教程-王先生笔记

安装证书即可

图片[7]-CentOS7上自签名SSL证书生成教程-王先生笔记

这时你再访问网站,就不会提示不安全了

结语

通过以上步骤,你已经成功在CentOS 7系统上生成了一个自签名的HTTPS证书,可以用于本地测试或内部网络的安全通信

原文链接(非王先生笔记发布均为盗版):https://wxsnote.cn/4746.html

评论后可接收该文章的更新邮箱通知
友情赞助

如果你喜欢我的内容,可以赞助我哦!你的一点点心意,是我不断前进的动力!
温馨提示: 本文最后更新于2024-05-23 18:57:42,某些文章具有时效性,若有错误或已失效,请在下方留言或加入QQ群: 399019539 联系群主反馈。注意一些链接无法访问可能是你网络的原因,如Github,并非资源地址失效。
© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
相关推荐
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容

王先生笔记