TOMCAT下创建HTTPS项目的方法(转)
原链接http://zhuyuehua.iteye.com/blog/1101041SSL (Secure Socket Layer - 安全套接字层 )
功能:保障在 Internet 上数据传输之安全,利用数据加密 (Encryption) 技术,确保数据在网络上之传输过程中不会被截取及窃 听,防止篡改。
如何让我们的 WEB 应用程序应用 SSL 安全保障? 这里有两种方法,双向认证和单项认证。
单项认证
客户端向服务器发送信息时,会检查服务器的证书,如果是安全证书,则向服务器发送数据,如果不是,则不发送数据。
双向认证
也就是说,首先,客户端将要认证服务器的安全性,确保访问的是正确的服务器,而非假冒的钓鱼网站;其次,服务器也要认证客户端的安全性,只有那些拥有服务器授权证书的客户端才可以访问。
下面来说明下如何建立单项认证和双向认证
单项SSL认证
1.打开cmd ,输入d: 回车
2.输入md keys 回车
3.输入cd keys 回车
4.输入
keytool -genkey -alias keytest -keyalg RSA -keypass 123456 -storepass 123456 -keystore mykey.keystore -validity 3600
因为该证书是 localhost发给localhost,也就是自签名的,所以不被信任。
6.配置tomcat中conf下的server.xml文件
注意:据说不同的TOMCAT在此处的配置有所不同,我这里用的是tomcat-6.0.32
代码如下:
Xml代码
[*]<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
[*]port="8443" enableLookups="true"
[*]disableUploadTimeout="true" acceptCount="100"
[*]maxThreads="200" scheme="https" secure="true"
[*]SSLEnabled="true" sslProtocol="TLS"
[*]clientAuth="false"
[*]keystoreFile="D:\keys\mykey.keystore"
[*]keystorePass="123456" />
这里 clientAuth表示,服务器是否要验证客户端,由于是单向连接,所以连fasle。
keystoreFile 表示密钥地址
keystorePass 表示密钥密码
需要说明的是,修改TOMCAT的server.xml文件,如果是ECLIPSE中建的服务器,不会有效果,需要删除服务器重新建个服务器。
配置好后重启tomcat就可以访问
https://localhost:8443
会发现提示证书错误,点击继续浏览此网站即可
由于此证书不被信任,所以会有上面的信息。
那么如何使证书受信任呢?这就需要专门的权威部门来签发给你证书。这些机构称为CA,由于CA的信息已经被集成在操作系统中了,所以这些颁发证书的CA机构是操作系统可信的。操作系统检测到证书的颁发者是可信的时候,就会信任此证书。
也可以自己充当CA机构来签发证书,该CA所签发的证书只能本机可信。过程如下:
1.首先将CA信息安装到操作系统,使操作系统对该CA可信。
安装server.cer到操作系统,过程默认。
2.使用该CA来签发证书。
可以使用openssl来签发数字证书,这里用的是JAVA程序来签发证书的。
页:
[1]