b应用基础实验教程 第十章 Tomcat中的SSL配置 Lab10 Tomcat中的SSL配置 随着万维网的发展,越来越多的应用开始背搭建在HTTP协议的基础上。HTTP协议是 种简单并且可靠的应用层协议,但是也有其不足之处,其中一点就是安全性问题。由于HTTP 协议是明文传输,因此任何通过HTTP协议传输的数据理论上都可以被任何传输中间结点所 捕获和解析。因此SSL( Secure Socket Layer)技术应运而生。在这次实验中,我们将会 了解到SSL的意义、原理以及在 Tomcat中部署SSL应用的配置方法 l预备知识 1.1SSL简介 Secure socket layer(SsL协议最初由 Netscape企业发展,现已成为网络用来鉴别网站和 网页浏览者身份,以及在浏览器使用者及网页服务器之间进行加密通讯的全球化标准 由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装数字 证书,或服务器证书就可以激活服务器功能了 后来,随着SSL应用的推广,ITF(www.ietf.org将SSL作了标准化,即RFC2246,并将 其称为TLS( Transport Layer Security),从技术上讲,TLS10与SSL30的差别非常微 SSL是一个介于HTP协议与TCP之间的一个可选层,其位置大致如下: I Httpi I SSLI I TCPI I IPI SSL在TCP之上建立了一个加密通道,通过这一层的数据经过了加密,因此达到保密 的效果
Web 应用基础实验教程 第十章 Tomcat 中的 SSL 配置 1 Lab 10 Tomcat 中的 SSL 配置 随着万维网的发展,越来越多的应用开始背搭建在 HTTP 协议的基础上。HTTP 协议是一 种简单并且可靠的应用层协议,但是也有其不足之处,其中一点就是安全性问题。由于 HTTP 协议是明文传输,因此任何通过 HTTP 协议传输的数据理论上都可以被任何传输中间结点所 捕获和解析。因此 SSL(Secure Socket Layer)技术应运而生。在这次实验中,我们将会 了解到 SSL 的意义、原理以及在 Tomcat 中部署 SSL 应用的配置方法。 1 预备知识 1.1 SSL 简介 Secure socket layer(SSL)协议最初由 Netscape 企业发展,现已成为网络用来鉴别网站和 网页浏览者身份,以及在浏览器使用者及网页服务器之间进行加密通讯的全球化标准。 由于 SSL 技术已建立到所有主要的浏览器和 WEB 服务器程序中,因此,仅需安装数字 证书,或服务器证书就可以激活服务器功能了。 后来,随着 SSL 应用的推广,IETF(www.ietf.org)将 SSL 作了标准化,即 RFC2246,并将 其称为 TLS(Transport Layer Security),从技术上讲,TLS1.0 与 SSL3.0 的差别非常微 小。 SSL 是一个介于 HTTP 协议与 TCP 之间的一个可选层,其位置大致如下: --------- | HTTP | --------- | SSL | --------- | TCP | --------- | IP | --------- SSL 在 TCP 之上建立了一个加密通道,通过这一层的数据经过了加密,因此达到保密 的效果
b应用基础实验教程 第十章 Tomcat中的SSL配置 1.2SSL与 Https 安全超文本传输协议(Https或Shttp)是一种结合HTIP而设计的消息的安全通 信协议。 Https实际上应用了 Netscape的完全套接字层(SSL)作为HTP应用层的 子层。Https使用端口443,而不是像HTTP那样使用端口80来和TCPP进行通信 2实验1在 Tomcat中配置SsL 实验目的 (1)熟悉SSL的实现机制 (2)学习 Tomcat中简单配置SSL的方法 实验任务 通过配置 Tomcat,使得浏览器可以对服务器进行单项验证,并通过Hps协议访问服务 器中的内容。 实验环境 Java SdK: jDK 1.4.2 服务器: Tomcat51 实验交付物 1.服务器证书文件: tomcat keystore 2. Tomcat的配置文件: server xml 实验步骤 (1)打开 Tomcat的HTPS监听端口(默认为关闭)。找到 Tomcat安装目录下的 /conf/ server.xml文件(如图1-1所示)
Web 应用基础实验教程 第十章 Tomcat 中的 SSL 配置 2 1.2 SSL 与 HTTPS 安全超文本传输协议(HTTPS 或 SHTTP)是一种结合 HTTP 而设计的消息的安全通 信协议。HTTPS 实际上应用了 Netscape 的完全套接字层(SSL)作为 HTTP 应用层的 子层。HTTPS 使用端口 443,而不是像 HTTP 那样使用端口 80 来和 TCP/IP 进行通信。 2 实验 1 在 Tomcat 中配置 SSL 实验目的: (1) 熟悉 SSL 的实现机制。 (2) 学习 Tomcat 中简单配置 SSL 的方法。 实验任务: 通过配置 Tomcat,使得浏览器可以对服务器进行单项验证,并通过 Https 协议访问服务 器中的内容。 实验环境: z Java SDK:JDK 1.4.2 z 服务器:Tomcat 5.1 实验交付物: 1. 服务器证书文件:tomcat.keystore 2. Tomcat 的配置文件:server.xml 实验步骤: (1) 打开 Tomcat 的 HTTPS 监听端口(默认为关闭)。找到 Tomcat 安装目录下的 /conf/server.xml 文件(如图 1-1 所示)
b应用基础实验教程 第十章 Tomcat中的SSL配置 2→节9其xc9h的中AW温回国口Q0 Js翻 2《!脚::。日2pc:21wca1 a ge: th:4112pee: sceD:e:3:don e-m.- enab:eLoo up” raige" redirectOrs”4 protocol=”/1.3-D <l-- Define a Prowled p/1: Connector on port 8012 <:--see proxy acce 4n:24bt2h:2,“ cCoaneceo: Bor:.042 图10-1 (2)注意图10-1中所选中的部分。该部分在 Tomcat安装时被注释。现在将注释符号 掉,我们就可以打开 Tomcat的HTPS监听端口(默认为8443端口)。在这个 Connect 元素中,c1 ientAuth=" false"说明了客户端验证不需要,因此只是一个单向验 证。如果需要进行双向验证,则需要将该值设为\ (3)接下来我们要做的是获得证书( Certificate)。由于我们这个实验所要做的只是浏 览器对服务器的单向认证,因此我们只需要获得服务器证书。获得证书的方法很多, 现在我们使用JRE中自带的 retool来手动创建一个证书文件。 Keytool位于JRE 安装目录中的/bin/目录下。如图10-2所示, keytool是一个非常强大的密钥生成和 管理工具
Web 应用基础实验教程 第十章 Tomcat 中的 SSL 配置 3 图 10-1 (2) 注意图 10-1 中所选中的部分。该部分在 Tomcat 安装时被注释。现在将注释符号去 掉,我们就可以打开 Tomcat 的 HTTPS 监听端口(默认为 8443 端口)。在这个 Connect 元素中,clientAuth="false"说明了客户端验证不需要,因此只是一个单向验 证。如果需要进行双向验证,则需要将该值设为\。 (3) 接下来我们要做的是获得证书(Certificate)。由于我们这个实验所要做的只是浏 览器对服务器的单向认证,因此我们只需要获得服务器证书。获得证书的方法很多, 现在我们使用 JRE 中自带的 keytool 来手动创建一个证书文件。Keytool 位于 JRE 安装目录中的/bin/目录下。如图 10-2 所示,keytool 是一个非常强大的密钥生成和 管理工具
b应用基础实验教程 第十章 Tomcat中的SSL配置 PRogram Files wava\re1.5.g\bin > keytool I-alias ] [-sigalg 1 file ] [-ke ypass ] I-providerClass [-providerArg ]] e lete [→υ】[- protected]-a1ias I-ke ystore ] [-storepass I [-storetype [-providerName I providerclass】] export -v】【-fc】 I-protected -a1主as]【-file I-keystore ] [-storepass ] I-storetype ] [-providerName 1 I-providerClass [-providerArg ]] genke [→u】[- protect [-alias ] L-keyalg ] [-keysize ] igalg L-validity ] [-ke pass ] [-keys tore 1 [-storepass 1 [-storetype 1 [-providerName 1 -providerClass [-providerArg ]] he lp identit ydb[→v】[- protected [-file I-keystore I [-storepass I [-storetype ] [-providerName ] -providerClass [-providerArg ]] import v】【- noprompt】【 trustcacerts- protected] alias I [-file ] [-ke pass 1 I-keystore ] [-storepass 1 I-storetype [-providerName 1 I-providerClass [-providerArg ]] 图10-2 (4)现在,我们输入图10-3中所显示的命令并填入相应的证书属性便可以在命令行所 在目录下生成一个证书文件。注意:密钥仓库的默认密码为 changeit,而最后我们 要输入的证书密码必须与密钥仓库密码相一致:-a1ias制定了证书的别名; - keya1指定了证书所选用的废堆成加密算法,这里为RSA:- keysize指定了密 钥长度,这里为1024位长;- validity指定了证书的有效期限,这里为365天 keystore制定了生成的证书文件名
Web 应用基础实验教程 第十章 Tomcat 中的 SSL 配置 4 图 10-2 (4) 现在,我们输入图 10-3 中所显示的命令并填入相应的证书属性便可以在命令行所 在目录下生成一个证书文件。注意:密钥仓库的默认密码为 changeit,而最后我们 要输入的证书密码必须与密钥仓库密码相一致;-alias 制定了证书的别名; -keyagl 指定了证书所选用的废堆成加密算法,这里为 RSA;-keysize 指定了密 钥长度,这里为 1024 位长;-validity 指定了证书的有效期限,这里为 365 天; -keystore 制定了生成的证书文件名
b应用基础实验教程 第十章 Tomcat中的SSL配置 NProgram Files wava\ire1.5.g\bin >ke ytool -genkey -alias tomcat -ke yalg 24 -validity 356 -ke ystore tomcat ke ystore ter keystore password: "changeit- irst and last n ganizational unit [Unknown ]: IBM what is the [Unknown ]: IBM Cit [ Unknown]: Shangha主 What is tH What is the two-letter country code for th [Unknown ]: Ch CN=Le Goff, OU=IBM, 0=IBM, L=Shanghai, ST=Shanghai, C=CN correct Ino ]: yes ter key password for : changeit \Program Files wava\jre15g\bin 图10-3 (5)现在我们将生成出来的 tomcat. keystore复制到 tomcat的安装目录下。然后继续 编辑 server.xml文件。在(1)中所提到的 Connect元素中添加属性 keystoreFile=" tomcat. keystore",表示证书文件的路径(可以是 tomcat的 相对路径,也可以是绝对路径):同时,如果证书文件的密码不是默认的 changeit, 则需要再添加一个属性 password,其值为证书文件的密码。重新启动 tomcat,并通 过8443端口进行访问,我们便可以看到浏览器提示用户验证证书的可信性。点击 View Certificate这个按钮,我们就可以查看证书的详细信息
Web 应用基础实验教程 第十章 Tomcat 中的 SSL 配置 5 图 10-3 (5) 现在我们将生成出来的 tomcat.keystore 复制到 tomcat 的安装目录下。然后继续 编 辑 server.xml 文 件。在(1) 中所提到的 Connect 元素中添加属性 keystoreFile="tomcat.keystore",表示证书文件的路径(可以是 tomcat 的 相对路径,也可以是绝对路径);同时,如果证书文件的密码不是默认的 changeit, 则需要再添加一个属性 password,其值为证书文件的密码。重新启动 tomcat,并通 过 8443 端口进行访问,我们便可以看到浏览器提示用户验证证书的可信性。点击 View Certificate 这个按钮,我们就可以查看证书的详细信息
b应用基础实验教程 第十章 Tomcat中的SSL配置 图10-4 (6)如图10-5种所示,在完成了证书可信性的验证之后,我们就可以正常访问网站了。 注意,此时浏览器中的地址栏内容已经发生了改变,我们使用的是在8443端口上的 Https协议 O Apache Tomcat/5.5.4- Microsoft Internet Explorer 0a的Pwmm色·品回·回B Apache Tomcat5 5.4 足 A If you're seeing this page via a web browser, it means you ve setup Tomcat su As you may have guessed by now. this is the defaut Tomcat home page. It can be found on the local mcat Admin stration SCATALINA HOME/webapps/RoOT/index. jsp where "SCATAUNA_ HOME is the root of the Tomcat insta taton directory. I you're seeing ths pag Documentation oviding the latter s/ who has arrived at new是 rogation for more de的 tailed setup case, please refer to the tomcat Doc Tomcat Documentation NOTE: This page is precompiled If you change it, this page will not change since it was compiled ir SCATALINA HOME/webaPps/ROOT/WEB-INF/web. xml as to how it was mapped.) Tomcat Online NOTE: For security reasons, using the administration webapp is restricted to users with ro restricted to users with role"manager". Users are defined in scATALINA HOME/conf/tomd 图10-5
Web 应用基础实验教程 第十章 Tomcat 中的 SSL 配置 6 图 10-4 (6) 如图 10-5 种所示,在完成了证书可信性的验证之后,我们就可以正常访问网站了。 注意,此时浏览器中的地址栏内容已经发生了改变,我们使用的是在 8443 端口上的 HTTPS 协议。 图 10-5