Tomcat配置SSL.doc

来源:互联网 发布:c语言模块化编程教程 编辑:程序博客网 时间:2024/05/21 15:20

HTTPS简介

HTTPS(Secure Hypertext Transfer Protocol 安全超文本传输协议)是以安全为目标的HTTP通道,简单讲是HTTP的安全版。HTTPTCP之间加入SSL层,应用了SSL作为HTTP应用层的子层,所以其安全基础是SSLSSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。

 

SSL

SSL(Secure Sockets Layer 安全套接层),是一种允许Web浏览器和Web服务器在一个安全连接上进行通信的技术。这意味着数据发送是由一方加密,传输,然后另一方在处理前进行解密。这是一个双向的过程,也就是说,服务器和浏览器在发送出数据前都要加密。

SSL协议的另一个重要方面是认证。这意味着你在初次尝试通过安全连接与web服务器通信的时候,该服务器将呈现给你的浏览器一个“证书”形式的凭据,证明它是谁以及自称是什么。某些情况下,服务器也可以从您的Web浏览器请求一个证书,证明你是谁你说你会问。这就是所谓的“客户身份验证”,虽然在实践中用于B2B交易比个人用户多。大多数使用SSLWeb服务器不要求客户身份验证。

对于参与电子商务的网站,或任何其他商业交易中的身份认证是很重要的,证书通常是购买一个知名的认证机构(CA)。这种证书可以进行电子验证——实际上该证书将担保机构为它授予的证书的真实性。但是在许多情况下,身份验证是不是一个真正的关注。管理员可能只是希望确保数据被发送和接收服务器是私有的,不能被任何人谁可能是在连接上偷听偷看。

 

Tomcat配置单向SSL

Java提供了一个相对简单的命令行工具,称为密钥工具,它可以轻松地创建一个“自签名“证书。自签名的证书只是用户产生的尚未正式登记与任何公认的CA,因此不能真正保证是正宗的所有证书。JDK中附带keytool可执行文件用于需要生成keystore。所以在配置之前有三个东西必须存在,JDKTomcatWeb应用程序。

tomcat配置SSL有以下两个基本步骤:

1.        生成keystore文件;

 Cmd进入命令行,键入【keytool -genkey -alias techtracer -keypass ttadmin -keystore techtracer.bin -storepass ttadmin这一步会生成【techtracer.bin】文件,位于【${user.home}/ techtracer.bin】。也可以在进入命令行以后,进入cd %JAVA_HOME%/bin】目录,那么生成的文件位于%JAVA_HOME%/bin/ techtracer.bin(需要设置了%JAVA_HOME%。无论哪里反正能找到自己的keystore文件【techtracer.bin】就行。

2.        配置tomcat以应用keystore文件;

找到【<CATALINA_HOME>/conf/server.xml】文件,找到含有【port=”8443”】的【Connector】目录,先将其注释去掉,并修改成【<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" keystoreFile=" %techtracer.bin 文件的路径%" keystorePass=" ttadmin" clientAuth="false" sslProtocol="TLS" />

 

完成以上步骤后,启动tomcat,试着访问【https://localhost:8443/】,成功则说明配置好了。

 

其他配置:

在利用https访问的时候,不需要带端口

将上面第二步的端口改【port="443"】,访问【https://localhost】即可查看。

 

配置web应用程序以使用SSL

通过上面的配置以后,web应用程序既可以通过http访问也可以通过https访问,我们可以迫使它只能通过https访问,配置如下:修改web应用程序的【web.xml,在<web-app></web-app>之间加入以下代码:【  <security-constraint>

       <web-resource-collection>

           <web-resource-name>securedapp</web-resource-name>

           <url-pattern>/*</url-pattern>

       </web-resource-collection>

       <user-data-constraint>

           <transport-guarantee>CONFIDENTIAL</transport-guarantee>

       </user-data-constraint>

    </security-constraint>】。

原创粉丝点击