菜鸟学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条个人想法,上课走神了呵呵 )