1.https
简单来讲就是安全的http。即http下加入ssl层 (Secure Socket Layer)。
整个ssl基本过程(单向认证):
- 客户端获取服务端证书的公钥:使用签名防止信息被篡改,使用证书是保证公钥来源可靠。
- 双方协商生成“会话密钥”-对称密钥(使用证书中公钥加密传输)
- 双方采用“会话密钥”进行通信(使用对称密钥是为了提高加解密效率)。
单向认证:只需对服务端的认证(不需要对客户端进行认证),即只要在服务端配置证书。
2.tomcat配置https处理过程
2.1.使用keytool生成证书
使用JDK中bin下自带keytool.exe工具。
keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "e:\tomcat.keystore"
-
-genkeypair:生成密钥对。
-
-alias:指定别名。
-
-keyalg:指定算法。
-
-keystore:存储地址。
其后需输入密码(后面server.xml配置中需要)以及其他信息(如组织、地区、城市等)
2.2.在tomcat中server.xml配置
在tomcat/conf/server.xml放开如下配置
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="e:\tomcat.keystore" keystorePass="123456" />
- clientAuth:是否进行客户端进行认证,默认false表示不校验,即单向认证。
- keystoreFile:配置keystore文件的位置。
- keystorePass:生成keystore时输入的密码。
3.参考文章
http://jingyan.baidu.com/article/a948d6515d3e850a2dcd2ee6.html
http://ln-ydc.iteye.com/blog/1330674
http://www.codeceo.com/article/ssl-tls-run.html