码迷,mamicode.com
首页 > Web开发 > 详细

使用openssl给web站点颁发证书

时间:2016-08-21 17:00:45      阅读:779      评论:0      收藏:0      [点我收藏+]

标签:谷歌浏览器   windows   private   配置文件   service   

背景介绍

在生产环境中,有时会需要用到自签名的证书,而谷歌浏览器从2016年开始就降低了sha1的算法级别,openssl默认使用的是sha1的算法,以下就来介绍openssl如何使用sha256的加密算法对web站点进行加密。拓扑图如下:

技术分享技术分享

操作步骤

1.安装httpd服务

 yum -y install httpd 

 chkconfig httpd on

 service httpd start

没有域名解析的话,httpd会启动很慢同时提示

技术分享技术分享

解决的方法是修改httpd配置文件vim /etc/httpd/conf/httpd.conf

技术分享技术分享

在/var/www/html目录下创建个index.html文件,随便写点内容作为主页,然后查看80端口是否正常侦听

技术分享技术分享

2.为CA颁发自签名证书

首先需要说明的是,证书是一个由公钥和私钥组成的密钥对,所以颁发证书时需要先生成密钥对,所以进入/etc/pki/CA目录上生成一个密钥对并保存到/etc/pki/CA/private目录下取名为cakey.pem

技术分享技术分享

Linux和windows不同不会因后缀名来区分文件类型,此处密钥对需要放在/etc/pki/CA/private目录下取名为cakey.pem的原因是在/etc/pki/tls/openssl配置文件中默认了CA密钥对和证书的路径和名称,如果不按照默认存放,请记得修改配置文件

技术分享技术分享

还需要求改[ CA_dfault ]字段的default_md,此处是设置由这台CA颁发出去证书的加密算法

技术分享技术分享

同时还要修改[ req ]字段的default_md,此处是设置CA自签名证书的加密算法,如果只给颁发证书的算法设置为sha256,在谷歌浏览器下仍会不被信任,原因是一个受信任的证书除了自身外,必须整个证书链都是受信任

技术分享技术分享

生成CA的自签名证书,证书名和路径要和配置文件保持一致,不再赘述,重点注意红框部分后面详细介绍

技术分享技术分享

-new   申请一个新证书

-x509  证书格式标准

-key   密钥文件位置

-days  证书有效期

填写证书信息时要注意Common Name一定要和你要申请的名称保持一致

技术分享技术分享

此时的/etc/pki/CA路径下并没有配置文件中的index.txt、serial、crlnumber文件,所以还需要手动创建

技术分享技术分享

创建完成后设置一个初始证书颁发号,至此CA上的操作完成

技术分享技术分享

3.Web站点申请证书

进入/etc/httpd目录下创建一个ssl目录,在该目录下为web服务器生成一个密钥http.key

技术分享技术分享

再为Web服务器生成一个证书申请

技术分享技术分享

仔细观察会发现,他和CA的自签名证书很相似,相比较CA的自签名证书少了-x509和-days两个参数,通过man req文档得知req命令使用-x509参数生成的是一个自签名证书而取代证书申请,所以此处不能使用-x509,且这只是个证书申请,证书的有效期应该有CA来指定,所以此处也不需要-days选项

技术分享技术分享

由于CA与Web是同一台机器,所以不需要将申请拷贝到其他机器,直接颁发证书

技术分享技术分享

httpd默认不会安装mod_ssl模块,无法使用https的方式访问,需要yum -y install mod_ssl手动安装,并找到mod_ssl的配置文件

技术分享技术分享

打开mod_ssl的配置文件,按实际指定Web站点的证书文件与私钥文件路径,退出后使用httpd -t检查配置文件,然后重启httpd服务,至此Web站点配置完成

技术分享技术分享

4.Client端配置

将CA的自签名证书/etc/pki/CA/cacert.pem导出到桌面,并改名为cacert.crt,然后通过MMC导入到受信任的根证书颁发机构

技术分享技术分享

修改Client端本地host文件,至此Client端配置完成

技术分享技术分享

5.检测

使用谷歌浏览器输入地址打开验证效果

技术分享技术分享




本文出自 “兔样兔森破” 博客,请务必保留此出处http://arkling.blog.51cto.com/2844506/1840800

使用openssl给web站点颁发证书

标签:谷歌浏览器   windows   private   配置文件   service   

原文地址:http://arkling.blog.51cto.com/2844506/1840800

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!