https服务搭建

背景:

        http方式:客户端到服务器采用明文传输,任何人可以轻松截取或篡改机密数据

        https方式:隐私数据采用密文传输,即使被截获也无法解密


环境:

       1台服务器(可以和颁发机构共用一台主机)

       1台证书颁发机构

       1台客户机



  

  https服务搭建


过程:

        第一步:网站服务器生成秘钥,将公钥发送给证书颁发机构CA,用来做证书

        第二步:CA根据自己的秘钥算法,结合公钥生成crt证书文件,并颁发给网站服务器

        第三步:客户端向服务器发送请求后,服务器将证书相关信息发送给客户端浏览器

        第四步:客户端检查收到的证书是否是信任机构的证书,是,则点信任表示授权该证书



一、颁发机构主机,找到openssl工具,先生成根证书文件秘钥cakey.pem

      说明:umask用来限制一般用户访问;调用到openssl工具;rsa算法;并生成和输出cakey .pem文件;秘钥长度为2048

      命令: ( umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)

  

  https服务搭建

  

  https服务搭建

  


二、修改openssl配置文件/etc/pki/tls/openssl.cnf,设置生成自签署证书时的关键默认值

      说明:国家、省份、城市、组织、组织部门

  https服务搭建



三、创建根证书文件cacert.pem

       说明:采用req格式;新建申请文件;国际标准509;由cakey.pem秘钥生成;输出名cacert.pem;有效期为365天;配置文件默认,填写域名和管理员邮箱

       命令 openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out  /etc/pki/CA/cacert.pem -days 365 

  https服务搭建

  

  https服务搭建



四、网站服务器主机

       说明:服务器需启用的一些模块(如已安装apache,需yum 安装mod_ssl和openssl,采用动态模式加载模块)

1
2
3
4
5
6
--with-included-apr
--enable-so
--enable-deflate=shared
--enable-expires=share
--enable-rewrite=shared
--enable-ssl


1、生成一个秘钥httpd.key

     命令 (umask 077;/usr/bin/openssl genrsa 1024 >httpd.key)

  https服务搭建


2. 用httpd.key秘钥,新建一个证书申请文件httpd.crq

     说明:填写颁发机构信息;域名只能选择一个有效(如果有多个);无需额外加密提高安全性,直接回车即可

     命令 /usr/bin/openssl req -new -key httpd.key -out httpd.crq 

  https服务搭建

  

  https服务搭建

 

3. 将证书申请文件交给证书颁发机构

  https服务搭建



五、颁发机构主机创建: index.txt,用于存放颁发了证书存放的记录,serial用于说明证书序号

      说明:需在openssl配置文件中指明/etc/pki/tls/openssl.cnf

      命令touch index.txt

      命令echo "00">>serial 

  https服务搭建

  

  https服务搭建

  

  https服务搭建



六、生成证书文件http.crt

       说明:用ca命令;指定申请文件;输出;有效期;检查网站服务器申请信息是否和颁发机构一致,如审核没问题,就回复y签署;成功生成证书之后,serial和index.txt会自动记录值

       命令  /usr/bin/openssl ca -in /tmp/httpd.crq -out /tmp/http.crt -days 365  

  https服务搭建

  

  https服务搭建



七、将生成的证书http.crt传给网站服务器

  https服务搭建



八、网站服务器修改配置文件

1. 如apache,主配置文件/usr/local/apache2/conf/httpd.conf

     说明:启用ssl加密,加载ssl模块  

  https服务搭建

  

  https服务搭建

 

2. 继续修改配置文件/usr/local/apache2/conf/extra/httpd-ssl.conf

    说明:端口号默认443;设置根目录,域名;打开引擎;指定证书文件和秘钥文件目录

  https服务搭建

  

  https服务搭建



九、客户机测试

  https服务搭建










本文转自 huangzp168 51CTO博客,原文链接:http://blog.51cto.com/huangzp/1900957,如需转载请自行联系原作者