菜鸟学Linux 第054篇笔记  建立加密的http

csr (Certificate Signing Request)

crt (未找到解释)

yum install mod_ssl

建立加密http访问步骤

1.安装mod_ssl

2.建立私有CA

为私有CA颁发自己的证书.pem

3.在http server 生成自己的私有key

并生成私有key的证书请求文件(请求文件的host名字必须要和站点名字相同).csr

将该请求文件送到私有CA处进行颁发证书,并把证书拷贝回到本地目录.crt

4.修改/etc/httpd/conf.d/ssl.conf文件

<VirtualHost 192.168.11.122:443> (IP为所要访问的主机名的IP)

ServerName www.mysky.com:443  

DocumentRoot "/web/html"(这两项不多做解释)

SSLCertificateFile /etc/httpd/ssl/httpd.crt (证书文件位置)

SSLCertificateKeyFile /etc/httpd/ssl/httpd.key(生成和私钥位置)

</VirtualHost>

这样即可实现http加密访问了,客户端直接访问会提示证书不受信任

解决此问题需要将私有CA的证书拷贝到本地安装后即提示消失

有的浏览器还是会提示证书有问题,这是因为咱们是自己建立的CA颁发机构(你懂得)

注意事项

1.建立私有CA时需要修改/etc/pki/tls/openssl.cnf文件

2.建立serial只可两位数(个人测试三位提示有问题,不清楚为何)

3.配置/etc/httpd/conf.d/ssl.conf文件,此文件仅在安装mod_ssl时才会有

4.一个IP只可建立一个加密的http传输

5.如果连接网站不成功可能iptables SELinux开启

关闭 setenforce 0

service iptables stop 

(这里因为没有学习此两项所以暂时先关闭)

https 连接步骤

1.客户端首先建立tcp三次握手与服务器端

2.客户端和服务器端协商要使用的对称加密算法,公钥加密算法

3.服务器端发送证书(证书里有服务器的公钥)给客户端

3.客户端验证证书如没有问题后生成随机对称密钥,用服务器的公钥加密,传送给server

4.客户端发送http请求用对称密码加密传送给服务器

5.服务器端回复http请求也用对称密码加密传送给客户端 

(4,5条个人想法,上课走神了呵呵 )