HTTPS安全协议的原理及配置使用
来源:互联网 发布:求生之路2游侠网络联机 编辑:程序博客网 时间:2024/06/05 03:54
HTTPS原理
- 客户端向服务器发送请求
- 服务器向客户端发送自己的证书
- 客户端验证证书的有效性(是否是可信用机构CA颁发的证书,如果不是则提出警告)并对比里面信息是否正确,不通过则立刻断开连接
- 向服务器端发送自己的证书及支持的加密算法列表
- 服务器端验证客户证书的有效性,并选择加密程度最高的加密算法,用客户的公钥加密后发给客户端
- 客户端用自己的私钥解密得到要使用的加密算法,然后随机产生主密码key在用服务器端的公钥对其加密并发送
- 服务器用自己的私钥解密获取主密码
- 以后发送的信息都通过对称加密进行加密通信
Https有单向和双向验证,它们的区别
单向认证只要求站点部署了ssl证书就行,任何用户都可以去访问(IP被限制除外等),只是服务端提供了身份认证。而双向认证则是需要是服务端需要客户端提供身份认证,只能是服务端允许的客户能去访问,安全性相对于要高一些
双向认证SSL 协议的具体通讯过程,这种情况要求服务器和客户端双方都有证书。 单向认证SSL 协议不需要客户端拥有CA证书,以及在协商对称密码方案,对称通话密钥时,服务器发送给客户端的是没有加过密的(这并不影响SSL过程的安全性)密码方案。这样,双方具体的通讯内容,就是加密过的数据。如果有第三方攻击,获得的只是加密的数据,第三方要获得有用的信息,就需要对加密的数据进行解密,这时候的安全就依赖于密码方案的安全。而幸运的是,目前所用的密码方案,只要通讯密钥长度足够的长,就足够的安全。这也是我们强调要求使用128位加密通讯的原因。
一般Web应用都是采用单向认证的,原因很简单,用户数目广泛,且无需做在通讯层做用户身份验证,一般都在应用逻辑层来保证用户的合法登入。但如果是企业应用对接,情况就不一样,可能会要求对客户端(相对而言)做身份验证。这时就需要做双向认证。
Tomcat配置单向Https
1.使用jdk中的keytool工具产生证书库文件,并复制到tomcat的conf目录下
keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:/SSL/server/tomcat.keystore -dname "CN=localhost,OU=zlj,O=zlj,L=Peking,ST=Peking,C=CN" -validity 3650 -storepass 123456 -keypass 123456
2.修改tomcat的server.xml文件(keystoreFile可以通过相对路径指定)
<Connector port="8443" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" acceptCount="100" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="conf/tomcat.keystore" keystorePass="123456" />
3.配置需要强制使用https协议的url
<!-- 强制SSL配置,即普通的请求也会重定向为SSL请求 --> <security-constraint> <web-resource-collection> <web-resource-name>SSL</web-resource-name> <url-pattern>/service/*</url-pattern><!-- 全站使用SSL <url-pattern>/*</url-pattern>--> </web-resource-collection> <user-data-constraint> <description>SSL required</description> <!-- CONFIDENTIAL: 要保证服务器和客户端之间传输的数据不能够被修改,且不能被第三方查看到 --> <!-- INTEGRAL: 要保证服务器和client之间传输的数据不能够被修改 --> <!-- NONE: 指示容器必须能够在任一的连接上提供数据。(即用HTTP或HTTPS,由客户端来决定)--> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint>
0 0
- HTTPS安全协议的原理及配置使用
- CA加密,网络安全HTTPS SSL-安全传输协议SSL和TLS及WTLS的原理
- HTTPS SSL-安全传输协议SSL和TLS及WTLS的原理
- CA加密,网络安全HTTPS SSL-安全传输协议SSL和TLS及WTLS的原理
- 让网站使用安全的HTTPS协议
- 使用 https 安全协议方法
- HTTPS原理及tomcat配置https的方法
- 在MVC的网页中使用https安全协议
- tomcat7 服务器配置HTTPS安全协议
- https的安全传输原理
- https原理及tomcat配置https方法
- https原理及tomcat配置https方法
- https原理及tomcat配置https方法
- https原理及tomcat配置https方法
- https原理及tomcat配置https方法
- https原理及tomcat配置https方法
- https原理及tomcat配置https方法
- https原理及tomcat配置https方法
- Java源码 SpringMVC Mybatis Shiro Bootstrap Rest Webservice
- MyEclipse代码提示设置
- 68,自定义代码生成快捷键
- [ACM]螺旋
- 自考那些事儿(五):软件开发工具(实践篇)
- HTTPS安全协议的原理及配置使用
- GNU Linux解析域名的三种命令及用法
- UVA10763 交流生
- Python进阶05 循环设计
- 最大子序列和问题
- Palindrome Number
- BCGControlBar:为现有MFC对话框工程换肤
- Qt Assistant介绍
- Python进阶06 循环对象与迭代