HTTP加密第二篇

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP加密第二篇相关的知识,希望对你有一定的参考价值。

第一步:搭建CA服务器

技术分享图片 

1、部署证书签发环境:配置文件/etc/pki/tls/openssl.conf

2、创建私钥文件:命令 文件名称  存储位置  私钥

3、创建根证书文件:命令 文件名称  存储位置

4、共享根证书文件:使用那种服务共享 共享目录 共享名

5、测试配置:客户端下载按住嗯根证书文件

 

具体配置过程:

1、部署证书签发环境:配置文件/etc/pki/tls/openssl.conf

# which openssl            :查看是否有装openssl包,默认装

# rpm -qf /bin/openssl      :查看要装的包

# rpm -qc openssl-libs      :查看软件的配置文件

# vim  /etc/pki/tls/openssl.cnf

    40 [ CA_default ]                 :默认环境

    42 dir          = /etc/pki/CA      :CA相关文件的默认目录

    43 certs        = $dir/certs       :为用户颁发证书的存放位置

  45 database   = $dir/index.txt   :证书数据的索引文件,需手动建立 

  50 certificate   = $dir/my-ca.crt   :CA服务器根证书文件

  51 serial       = $dir/serial      :序号记录文件,需手动建立,从01开始

  55 private_key = $dir/private/my-ca.key  :CA服务器私钥文件

    83 [ policy_match ]   :策略匹配

    85 countryName             = match   :配置和CA一致

    86 stateOrProvinceName     = match

    87 organizationName        = match

    128 [ req_distinguished_name ]        //证书请求的识别信息

  129 countryName_default             = CN      :国家

#134 stateOrProvinceName_default   = beijing :省

  137 localityName_default              = beijing :市

  140 0.organizationName_default       = tarena   :公司名

#148 organizationalUnitName_default = ope     :部门

 

根据需要建立index.txtserial文件

# touch  /etc/pki/CA/index.txt

# chmod 600 /etc/pki/CA/index.txt

# touch  /etc/pki/CA/serial

# echo 01 > /etc/pki/CA/serial

# chmod 600  /etc/pki/CA/serial

 

2、创建CA服务器私钥文件:命令 文件名称  存储位置  私钥

# cd  /etc/pki/CA/private/

# openssl  genrsa  -des3  2048  >  my-ca.key (设置保护私钥的密码123456)

# chmod  600 my-ca.key  :为啦安全,只有root有权限

# ls  my-ca.key

 

3、创建根证书文件:命令 文件名称  存储位置

# cd /etc/pki/CA

# openssl  req获取  -new新的  -x509证书格式  -key私钥  /etc/pki/CA/private/my-ca.key私钥文件  -days 365有效时间  > my-ca.crt根证书文件

   server's hostname:web

   Email Address []:[email protected]

# chmod  600 my-ca.crt

 

4、共享根证书文件:使用那种服务共享 共享目录 共享名

#yum -y  install httpd

# systemctl restart httpd

# systemctl enable  httpd

# mkdir /var/www/html/ca

# cp /etc/pki/CA/my-ca.crt /var/www/html/ca/

# chmod 755 /var/www/html/ca/my-ca.crt查看浏览器安装的证书:首选项

http://192.168.4.100/ca/

浏览器--设置--高级--证书--导入

# ls /var/www/html/ca/my-ca.crt

# service httpd start; chkconfig httpd on

# systemctl stop firewalld

# setenforce 0

 

5、测试配置:客户端下载根证书文件

查看浏览器安装的证书:首选项

http://192.168.4.100/ca/

浏览器--设置--高级--证书--导入

 

装包

# yum  -y  install  mod_ssl

创建私钥文件:作用 命令  文件名  存储位置

# cd  /etc/pki/tls/private/

# openssl  genrsa  2048  >  www.key

创建证书请求文件:命令 文件名 存储位置

# openssl req -new -key /etc/pki/tls/private/www.key > /root/www.csr

     :证书请求文件以.csr结尾

    CN    guangdong    shenzhen    yiyi    ope

   your server's hostname) []:web  :本机网站服务名

   Email Address []:[email protected]163.com

 

提交证书请求文件传给CA服务:scp

# scp /root/www.csr   192.168.4.15:/root/

 

配置本机的网站在运行时调用私钥文件和数字证书文件mod_sslssl.conf

# mv   /root/www.crt    /etc/pki/tls/certs/

# ls  /etc/pki/tls/private/www.key

# yum  -y   install  mod_ssl

# sed   -n  '100p;107p'  /etc/httpd/conf.d/ssl.conf

    100SSLCertificateFile /etc/pki/tls/certs/www.crt  :改路径

    107SSLCertificateKeyFile /etc/pki/tls/private/www.key :改路径

# vim /etc/httpd/conf.d/ssl.conf

    100SSLCertificateFile /etc/pki/tls/certs/www.crt  :改路径

    107SSLCertificateKeyFile /etc/pki/tls/private/www.key :改路径

 

重启服务

# systemctl   restart  httpd

# netstat  -untlap  | grep httpd   443  80

 

CA服务器配置

A审核并签发数字证书: 命令 数字证书名称 数字证书文件存放的位置 知道私钥密码

# ls  /root/www.csr

# cd /etc/pki/CA/certs/

# openssl  ca  -in  /root/www.csr  >  www.crt    (web)

# cat  www.crt

 

B下发数字证书给网络服务端:scp

# scp   www.crt   192.168.4.13:/root/  :把证书版发给13服务器

# cat /etc/pki/CA/indedx.txt  :看颁发证书记录

 

C客户配置:验证使用https协议访问网站服务器,从CA服务器上下载根证书文件并安装

# sed -i '$a192.168.4.13  web'   /etc/hosts

# vim /etc/hosts

  192.168.4.13 web  :端口重定向访问

# ping -c 2  web


以上是关于HTTP加密第二篇的主要内容,如果未能解决你的问题,请参考以下文章

干货:密码学系列 - 对称加密

攻防技术第二篇之-知己(防御手段)

攻防技术第二篇之-知己(防御手段)

一篇搞定RSA加密与SHA签名|与Java完全同步

10月第二篇从小工到专家读后感

手工脱壳之 PESpin加密壳SHE链硬件反调试IAT重定向混淆+花指令