web服务之https
2014-04-09 17:57
232 查看
https
https与http的区别
(1) http事务与加密的https事务
![](http://s3.51cto.com/wyfs02/M02/23/DA/wKiom1NFAZrT4MvjAAI0X5XFUUg389.jpg)
(2)重要概念知识介绍
SSL会话
X509.3证书格式
PKI (Public Key Infrastructure)
客户端验证服务器证书
服务器配置https
( 1)确保mod_ssl模块加载
![](http://s3.51cto.com/wyfs02/M01/23/DA/wKiom1NFBRewptCAAABiNkjbkCU963.jpg)
如果没有加载该模块则 #yum -y install mod_ssl*
(2) 服务器自建CA (自我成为CA签发者)
创建服务器自己的私钥
![](http://s3.51cto.com/wyfs02/M01/23/DA/wKiom1NFBcrySTcoAACzE8Ji1S0854.jpg)
服务器自我生成CA证书
![](http://s3.51cto.com/wyfs02/M02/23/DA/wKiom1NFBjaSDz8BAANNDm_5wb4916.jpg)
创建index.txt (索引文件数据库),serial(签证编号)
( 3 ) 客户端申请CA 我们同时使用服务器做客户端
1、生成客户端自己的私钥 httpd.key
2、客户端生成证书签署请求 httpd.csr
![](http://s3.51cto.com/wyfs02/M00/23/DA/wKioL1NFCKaRQpMlAAO6HFH34Sg090.jpg)
3、 服务器给客户端签署证书 生成 httpd.crt
![](http://s3.51cto.com/wyfs02/M02/23/DA/wKioL1NFCWKCsCz9AAPRW34DHbI964.jpg)
4、查看密钥和证书
![](http://s3.51cto.com/wyfs02/M02/23/DA/wKioL1NFCtzwz9ZJAABm0eJoWF0422.jpg)
( 4 )编辑配置文件
1、打开拓展配置文件及mod_socache模块
![](http://s3.51cto.com/wyfs02/M01/23/DA/wKiom1NFDCDjrMJPAABVVIxPIXc990.jpg)
![](http://s3.51cto.com/wyfs02/M00/23/DA/wKiom1NFDDmCU0l5AABXLCFGkcc267.jpg)
2、编辑/etc/httpd/extra/httpd-ssl.conf
设置客户端证书和密钥路径
![](http://s3.51cto.com/wyfs02/M02/23/DA/wKioL1NFDKCj1OPMAAF1NPu_s9Q501.jpg)
设置基于ssl的虚拟主机
![](http://s3.51cto.com/wyfs02/M02/23/DA/wKiom1NFDOuQA8JTAADywLQzYIg136.jpg)
3 重启httpd服务
( 5 )客户端测试
https://www.a.com:443
![](http://s3.51cto.com/wyfs02/M00/23/DA/wKiom1NFDcOg5_iiAAHGpwXzivw164.jpg)
客户端导入CA证书
![](http://s3.51cto.com/wyfs02/M01/23/DA/wKiom1NFDmei8kpHAALNoG2A_Pw799.jpg)
客户端重新测试 https://www.a.com:443
![](http://s3.51cto.com/wyfs02/M00/23/DA/wKioL1NFDojj-nYDAAB0NebRvPw101.jpg)
( 6 )查看证书信息
![](http://s3.51cto.com/wyfs02/M00/23/DA/wKiom1NFDv3xoUdFAAI0juNQXd8616.jpg)
( 7 )linux客户端测试
![](http://s3.51cto.com/wyfs02/M01/23/DB/wKioL1NFGdTRLfk2AAJhqYOmCT0767.jpg)
如有瑕疵,请及时指出~
https:超文本传输安全协议(Hypertext Transfer Protocol Secure) 网景在1994年创建了https
https就是使用了ssl/tls协议通信的http #SSL/TLS当前使用的版本 #SSL:Secure Socket Layer v3版 #TLS:Transport Layer Security v1版 SSL/TLS的重要性 #(1) 所有信息都是加密传播,第三方无法窃听。 #(2) 具有校验机制,一旦被篡改,通信双方会立刻发现。 #(3) 配备身份证书,防止身份被冒充。
https与http的区别
http 文本协议 tcp:80端口 应用层 https 二进制格式的协议 tcp: 443端口 传输层
(1) http事务与加密的https事务
![](http://s3.51cto.com/wyfs02/M02/23/DA/wKiom1NFAZrT4MvjAAI0X5XFUUg389.jpg)
(2)重要概念知识介绍
SSL会话
ssl握手要完成的工作: 交换协议版本号 选择但双方都支持的加密方式 对两端实现身份验证 密钥交换 注意:SSL会话基于IP地址进行:不支持在基于FQDN的虚拟主机上实现
X509.3证书格式
证书格式的版本号 证书序列号 证书签名算法 证书颁发者 有效期 持有者的名称 持有者的公钥 CA的ID 持有者的ID 其它扩展信息 基本约束 证书策略 密钥的使用限制 CA签名
PKI (Public Key Infrastructure)
端实体(申请者) 注册机构(RC) 签证机构(CA)-->签证机构(CA) 证书撤消列表(CRL)发布机构 证书存取库
客户端验证服务器证书
日期检测:证书是否在有效期内 证书颁发者的可信度: 证书的签名检测: 持有者的身份检测:
服务器配置https
( 1)确保mod_ssl模块加载
![](http://s3.51cto.com/wyfs02/M01/23/DA/wKiom1NFBRewptCAAABiNkjbkCU963.jpg)
如果没有加载该模块则 #yum -y install mod_ssl*
(2) 服务器自建CA (自我成为CA签发者)
创建服务器自己的私钥
#cd /etc/pki/CA 进入CA目录 #(umask 077;openssl genrsa 2048 > private/cakey.pem) 创建服务器私钥
![](http://s3.51cto.com/wyfs02/M01/23/DA/wKiom1NFBcrySTcoAACzE8Ji1S0854.jpg)
服务器自我生成CA证书
#openssl req -new -x509 -key /private/cakey.pem -out cacert.pem -days 3655
![](http://s3.51cto.com/wyfs02/M02/23/DA/wKiom1NFBjaSDz8BAANNDm_5wb4916.jpg)
创建index.txt (索引文件数据库),serial(签证编号)
#touch index.txt serial crlnumber # echo 01 > serial
( 3 ) 客户端申请CA 我们同时使用服务器做客户端
1、生成客户端自己的私钥 httpd.key
# cd /etc/httpd # (umask 077;openssl genrsa 1024 >httpd.key)
2、客户端生成证书签署请求 httpd.csr
#cd /etc/httpd #openssl req -new -key httpd.key -out httpd.csr
![](http://s3.51cto.com/wyfs02/M00/23/DA/wKioL1NFCKaRQpMlAAO6HFH34Sg090.jpg)
3、 服务器给客户端签署证书 生成 httpd.crt
#openssl ca -in httpd.csr -out httpd.crt -days 3665
![](http://s3.51cto.com/wyfs02/M02/23/DA/wKioL1NFCWKCsCz9AAPRW34DHbI964.jpg)
4、查看密钥和证书
![](http://s3.51cto.com/wyfs02/M02/23/DA/wKioL1NFCtzwz9ZJAABm0eJoWF0422.jpg)
( 4 )编辑配置文件
1、打开拓展配置文件及mod_socache模块
# vim /etc/httpd/httpd.conf
![](http://s3.51cto.com/wyfs02/M01/23/DA/wKiom1NFDCDjrMJPAABVVIxPIXc990.jpg)
![](http://s3.51cto.com/wyfs02/M00/23/DA/wKiom1NFDDmCU0l5AABXLCFGkcc267.jpg)
2、编辑/etc/httpd/extra/httpd-ssl.conf
设置客户端证书和密钥路径
![](http://s3.51cto.com/wyfs02/M02/23/DA/wKioL1NFDKCj1OPMAAF1NPu_s9Q501.jpg)
设置基于ssl的虚拟主机
![](http://s3.51cto.com/wyfs02/M02/23/DA/wKiom1NFDOuQA8JTAADywLQzYIg136.jpg)
3 重启httpd服务
#httpd -t 测试配置文件是否有错误 #service httpd restart
( 5 )客户端测试
https://www.a.com:443
![](http://s3.51cto.com/wyfs02/M00/23/DA/wKiom1NFDcOg5_iiAAHGpwXzivw164.jpg)
客户端导入CA证书
#把/etc/pki/CA/cacert.pem这个CA证书拷到window上,改名为cacert.crt,安装此证书
![](http://s3.51cto.com/wyfs02/M01/23/DA/wKiom1NFDmei8kpHAALNoG2A_Pw799.jpg)
客户端重新测试 https://www.a.com:443
![](http://s3.51cto.com/wyfs02/M00/23/DA/wKioL1NFDojj-nYDAAB0NebRvPw101.jpg)
( 6 )查看证书信息
![](http://s3.51cto.com/wyfs02/M00/23/DA/wKiom1NFDv3xoUdFAAI0juNQXd8616.jpg)
( 7 )linux客户端测试
#openssl s_client -quiet -connect 172.16.251.183:443 -CAfile /etc/pki/CA/cacert.pem
![](http://s3.51cto.com/wyfs02/M01/23/DB/wKioL1NFGdTRLfk2AAJhqYOmCT0767.jpg)
如有瑕疵,请及时指出~
相关文章推荐
- web服务其四启用CGI、https、压缩功能
- 使用 gSOAP 通过 HTTP 和 HTTPS 调用由 WSAD 创建的 J2EE Web 服务
- web服务如何调试https请求
- Java调用C#写的web服务接口(含https调用)
- C++ 开发 Web 服务框架 - HTTPS 的原理及其 Web 框架的设计与实(三)
- WebSphere 配置 Web 服务安全性,第 1 部分: HTTPS、.NET
- Nginx作为WEB服务相关配置(性能优化,网络连接,访问控制,虚拟主机,https等等)
- web服务(Centos7)之配置https
- 『翻译』为什么.Net CF在调用HTTPS 的Web服务时失败?!
- 使用 gSOAP 通过 HTTP 和 HTTPS 调用由 WSAD 创建的 J2EE Web 服务
- JDK自带工具keytool生成ssl证书(web服务https配置)
- Linux运维 第三阶段 (六)web相关概念httpd服务及https加密传输配置
- 安装证书服务:为Web站点启用HTTPS
- Openssl:构建CA的过程并实现web服务基于https访问的网络架构
- centos系统web服务开启https
- 蛙蛙推荐:用TLS实现安全TCP传输及配置和访问https的web服务
- CentOS6服务管理之WEB-httpd用户认证控制和https在httpd上的实现
- 使用 gSOAP 通过 HTTP 和 HTTPS 调用由 WSAD 创建的 J2EE Web 服务
- 使用 Rational Application Developer 构建 HTTPS Web 服务,第 1 部分:Web 服务与 Web 服务客户机
- 建立基于https的web服务