使用openssl给web站点颁发证书

背景介绍

在生产环境中,有时会需要用到自签名的证书,而谷歌浏览器从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.检测

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

时间: 2024-10-03 14:55:29

使用openssl给web站点颁发证书的相关文章

openssl创建CA、申请证书及其给web服务颁发证书

一.创建私有的CA   1)查看openssl的配置文件:/etc/pki/tls/openssl.cnf   2)创建所需的文件 touch /etc/pki/CA/index.txt   echo 01 >/etc/pki/CA/serial 3)CA自签证书生成私钥 cd /etc/pki/CA (umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048) 4)生成自签名证书 openssl req -new -x50

使用OpenSSL 自建CA 以及颁发证书

OpenSSL是套开放源代码的软件库包,实现了SSL与TLS协议.其主要库是以C语言所写成,实现了基本的加密功能. OpenSSL可以运行在绝大多数类Unix操作系统上(包括Solaris,Linux,Mac OS X与各种版本的开放源代码BSD操作系统),OpenVMS与 Microsoft Windows.它也提供了一个移植版本,可以在IBM i(OS/400)上运作. 此软件是以Eric Young以及Tim Hudson两人所写的SSLeay为基础所发展的,SSLeay随着两人前往RSA

安装证书服务:为Web站点启用HTTP

为Web站点启用HTTP 上篇介绍了PKI和数字证书的相关概念,下面将详细介绍如何安装证书服务. 上篇链接:http://yangshufan.blog.51cto.com/13004230/1942840 实验环境:      n  在DC服务器上安装证书服务器 1.     使用Administrator登陆DC,添加角色 2.     选择"Active Directory证书服务",下一步 3.     添加必须的角色服务 4.     选择"企业",下一步

利用CA证书配置安全Web站点

安全套接字层(SSL)是一套提供身份验证.保密性和数据完整性的加密技术,属于传输层的协议.应用SSL最广泛的是HTTPS(给予SSL的HTTP)协议,用来在Web浏览器和Web服务器之间建立安全通信通道. 实验要求:客户端在网页上用HTTP方式访问Web发布的网站. 准备工作:准备4台虚拟机,一台作为Web服务器,一台做CA证书服务器,一台搭建DNS服务器,最后一台作为客户端验证,网段我们采用192.168.100.X网段.客户端的IP是192.168.100.1,DNS是192.168.100

C++模拟Http/Https POST登录web站点

C++模拟Http/Https访问web站点 一.概述 1.Http与Https的区别与联系 在OSI参考模型中Http与Https均属于应用层协议.Http即Hypertext Transfer Protocol,超文本传输协议:而Https为Secure Hypertext Transfer Protocol安全超文本传输协议,它是一个安全通信通道,基于HTTP开发,用于在客户端与服务器之间交换信息,它使用安全套接字层SSL进行信息交换,简单来说它就是HTTP的安全版. Http默认使用80

Openssl 创建CA和申请证书

Openssl 创建CA和申请证书 =============================================================================== 概述: 本章是上篇加密解密技术的续,主要介绍Openssl创建CA.申请证书.办法证书的整个操作,具体内容如下: 创建私有CA: 给节点颁发证书: 吊销证书  详情查看上篇加密解密技术:http://1992tao.blog.51cto.com/11606804/1856438 ============

创建私有CA及颁发证书

证书申请及签署步骤: 1.生成申请请求 2.RA核验 3.CA签署 4.获取证书 三种策略:匹配.支持和可选 ①匹配:指要求申请填写的信息跟CA设置信息必须一致,默认国家.省.公司信息必须一致 ②支持:指必须填写这项申请信息,但是可以和CA信息不一致 ③可选:指可有可无 创建私有CA及颁发证书步骤: 1.创建所需要的文件 ①openssl的配置文件:/etc/pki/tls/openssl.cnf 如果没有这个文件,那么需要安装一个包 rpm -ivh openssl-libs-1.0.1e-6

自己搭建CA颁发证书做https加密网站

如果网站是针对内网的访问的,自己搭建CA服务器颁发证书就可以,如果是针对互联网来访问的,还是买ssl证书比较好,今天就来介绍一下自己搭建CA服务器颁发证书做加密网站. 192.168.10.187 CA服务器 192.168.10.190 web服务器 (1)搭建CA cd /etc/pki/CA 在这个目录下创建serial和index.txt两个文件 echo 00 > serial (00是颁发证书最初的版本号) touch index.txt (umask 006;openssl gen

搭建CA颁发证书做https加密网站

92.168.10.187 CA服务器 192.168.10.190 web服务器 (1)搭建CA cd /etc/pki/CA 在这个目录下创建serial和index.txt两个文件 echo 00 > serial (00是颁发证书最初的版本号) touch index.txt (umask 006;openssl genrsa -out private/cakey.pem 4096) 生成私钥 openssl req -new -x509 -key private/cakey.pem -