SSL会话的简化过程
- 客户端发送可供选择的加密方式,并向服务器请求证书;
- 服务器端发送证书以及选定加密方式给客户端;
-
客户端取得证书并进行证书验证:
如果信任给其发证书的CA:
(a) 验证证书来源的合法性;用CA的公钥解密证书上数字签名;
(b) 验证证书的内容的合法性:完整性验证
(c) 检查证书的有效期限;
(d) 检查证书是否被吊销;
(e) 证书中拥有者的名字,与访问的目标主机要一致; - 客户端生成临时会话密钥(对称密钥),并使用服务器端的公钥加密此数据发送给服务器,完成密钥交换;
- 服务用此密钥加密用户请求的资源,响应给客户端;
注意:SSL会话是基于IP地址创建;所以单IP的主机上,仅可以使用一个HTTPS虚拟主机;
配置httpd支持https:
-
为服务器申请数字证书
测试:通过私建CA发证书;
(a)创建私有CA
(b)在服务器创建证书签署请求
(c)CA签证 -
配置httpd支持使用ssl,及使用的证书;
yum -y install mod_ssl
配置文件:/etc/httpd/conf.d/ssl.conf
DocumentRoot ServerName SSLCertificateFile SSLCertificateKeyFile
- 测试基于https访问相应的主机;
# openssl s_client [-connect host:port] [-cert filename] [-CApath directory] [-CAfile filename]
网友评论