如何配置Tomcat以支持SSL.doc

上传人:壹****1 文档编号:542008952 上传时间:2023-12-22 格式:DOC 页数:7 大小:79.50KB
返回 下载 相关 举报
如何配置Tomcat以支持SSL.doc_第1页
第1页 / 共7页
如何配置Tomcat以支持SSL.doc_第2页
第2页 / 共7页
如何配置Tomcat以支持SSL.doc_第3页
第3页 / 共7页
如何配置Tomcat以支持SSL.doc_第4页
第4页 / 共7页
如何配置Tomcat以支持SSL.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《如何配置Tomcat以支持SSL.doc》由会员分享,可在线阅读,更多相关《如何配置Tomcat以支持SSL.doc(7页珍藏版)》请在金锄头文库上搜索。

1、如何配置Tomcat以支持SSL 木子( MSN: - 既然选择了远方,便只顾风雨兼程!名词解释:1 ssl(Server Socket Layer): 在网络上信息在源-宿的传递过程中会经过其它的计算机。一般情况下,中间的计算机不会监听路过的信息。但在使用网上银行或者进行信用卡交易的时候有可能被监视,从而导致个人隐私的泄露。由于Internet和Intranet体系结构的原因,总有某些人能够读取并替换用户发出的信息。随着网上支付的不断发展,人们对信息安全的要求越来越高。因此Netscape公司提出了SSL协议,旨在达到在开放网络(Internet)上安全保密地传输信息的目的,这种协议在WEB

2、上获得了广泛的应用。 之后IETF(www.ietf.org)对SSL作了标准化,即RFC2246,并将其称为TLS(Transport Layer Security),从技术上讲,TLS1.0与SSL3.0的差别非常微小。SSL工作原理:SSL协议使用不对称加密技术实现会话双方之间信息的安全传递。可以实现信息传递的保密性、完整性,并且会话双方能鉴别对方身份。不同于常用的http协议,我们在与网站建立SSL安全连接时使用https协议,即采用https:/ip:port/的方式来访问。当我们与一个网站建立https连接时,我们的浏览器与Web Server之间要经过一个握手的过程来完成身份鉴定

3、与密钥交换,从而建立安全连接。具体过程如下: 1.用户浏览器将其SSL版本号、加密设置参数、与session有关的数据以及其它一些必要信息发送到服务器。 2.服务器将其SSL版本号、加密设置参数、与session有关的数据以及其它一些必要信息发送给浏览器,同时发给浏览器的还有服务器的证书。如果配置服务器的SSL需要验证用户身份,还要发出请求要求浏览器提供用户证书。 3.客户端检查服务器证书,如果检查失败,提示不能建立SSL连接。如果成功,那么继续。 4.客户端浏览器为本次会话生成pre-master secret,并将其用服务器公钥加密后发送给服务器。 5.如果服务器要求鉴别客户身份,客户端还

4、要再对另外一些数据签名后并将其与客户端证书一起发送给服务器。 6.如果服务器要求鉴别客户身份,则检查签署客户证书的CA是否可信。如果不在信任列表中,结束本次会话。如果检查通过,服务器用自己的私钥解密收到的pre-master secret,并用它通过某些算法生成本次会话的master secret。 7.客户端与服务器均使用此master secret生成本次会话的会话密钥(对称密钥)。在双方SSL握手结束后传递任何消息均使用此会话密钥。这样做的主要原因是对称加密比非对称加密的运算量低一个数量级以上,能够显著提高双方会话时的运算速度。 8.客户端通知服务器此后发送的消息都使用这个会话密钥进行加

5、密。并通知服务器客户端已经完成本次SSL握手。 9.服务器通知客户端此后发送的消息都使用这个会话密钥进行加密。并通知客户端服务器已经完成本次SSL握手。 10.本次握手过程结束,会话已经建立。双方使用同一个会话密钥分别对发送以及接受的信息进行加、解密。2 JSSE: Java SSL extension用来支持Java程序的SSL;3 KeystoreJava把各种钥匙对key pair、验证certification等都可以放到一个文件中,并且一个?文件可以放多个钥匙对和验证信息,并用别名alias来区分不同的key pair/certification。?存放这些信息的文件叫做keysto

6、re;4 KeytoolJDK自带的用于管理keystore的工具安装准备:1. 确定已安装有JDK1.2以上版本(java -version);如果你的机器安装了jdk1.4 以上版本可以不必以下准备。2. 下载JSSE,URL: http:/ 安装JSSE,主要是把JSSE包内的lib/*.jar拷贝到JAVA_HOME/jre/lib/ext/下,并且加入到CLASSPATH中 (这一步很重要);4. 编辑JAVA_HOME/jre/lib/security/java.security文件,主要是添加:security.provider.1=sun.security.provider.S

7、un(一般系统本来就有这一行)security.provider.2=.ssl.internal.ssl.Provider(注意数字2应该是你的系统原有的最大provider数再加一,不一定是2;但一般把它的优先级设为2,而改其它的)5.确定你的系统有下面文件的其中一个:1 JAVA_HOME/jre/lib/security/jssecacerts或者2 2) JAVA_HOME/jre/lib/security/cacerts申请服务器证书1 建立保存证书相关信息的目录如:c:/myServerKey2在dos窗口中敲入以下命令生成.keystore文件java_home%/bin/key

8、tool -genkey -alias tomcatTest -keyalg RSA -keystore c:/myServerKey/serverKey.keystore将提示您输入保护keystore 的密码注意问题 : 姓氏可输入域名,中国的国家代码是:CN-lias tomcatTest 中的tomcatTest 为别名 可以任意输入 请到 c:/myServerKey 目录下确认是否生成文件 serverKey.keystore 图片13产生certificate signature request (CSR) 用来向CA颁发机构申请有效的服务器证书:java_home%/bin/k

9、eytool certreq -keyalg RSA -alias tomcatTest -file c:/myServerKey/certreq.csr -storepass lxz2003 -keystore c:/myServerKey/serverKey.keystore命令行的说明:-alias tomcatTest 在生成.keystore的别名-storepass 访问.keystore 的密码-file certreq.csr 生成证书请求存放的文件在c:/myServerKey目录下找到certreq.csr 文件用文本编辑器(如notepad.exe、ultraedit.e

10、xe)打开(注意千万不要改变其中的内容或用word等带有一定格式的字处理软件编辑或存储以上信息。)文件内容类似如下:-BEGIN NEW CERTIFICATE REQUEST-MIIBqjCCARMCAQAwajELMAkGA1UEBhMCQ04xEjAQBgNVBAgTCWd1YW5nZG9uc2hlbnpoZW4xDzANBgNVBAoTBmJ5dHRlcjEPMA0GA1UECxMGYnl0dGVyMRIwEAYMC4wLjEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALKNsefgVD4KhkgKfYPP7ctq4wMqR807Q+joeqqu78hw

11、D4Dd8I4R7Fg6pl6GGMhuOVG+s7j59Qf+s9pdUM/Sj5exIM5skhiYSsIgsDWMY/mMl2u212AeNKxR2bzRrWtT0OUv1yHvCmE6CmifqKce51R3AgBgkqhkiG9w0BAQQFAAOBgQBOq79Rhmt2yo1B2ezUBAv6ieyMLGvYxDID/+SU8UpKw0rpdpPEQjOPKDnQW1gXyU5zxheWMCh7K4p/r2NNf2cvzs3hGvESwx2/cjDo2q246EoZqy/LfaUqDbvqCEVS29Z/0tL+h6GEcsQU+/P6wVvOZ0MFA=-END NEW CER

12、TIFICATE REQUEST-4 登陆到CA颁发机构的网站提交证书请求,注册相关信息,生成服务器证书(本说明演示申请测试版服务器证书的过程,申请网站:http:/)。进入图中圈选的页面申请服务器端证书。图片2第一次申请需安装证书链,安装完证书链后按屏幕提示继续。图片3填写基本资料:(注意域名或ip、管理员的Email地址)图片4填写其他信息和联系信息:(注意web服务器类型为Apache)图片5提交证书请求信息:把上面生成的证书请求文本拷贝粘贴到文本框中(certreq.csr)。图片6获得业务受理号:图片7凭管理员邮箱中的业务受理号、密码安装证书:图片8保存证书到指定目录,证书申请完成。

13、图片95 安装服务器证书颁发CA的证书链:证书链的文件为ServerRoot.p7b,双击该文件导出证书链中的个CA证书,选择其中的一个证书右键选择所有任务中的导出一项。图片10按屏幕提示操作(注意:证书的导出格式选择为:Base64 编码 X.509 (.cer))。图片11选择保存的路径,文件名(如RootCa.cer),完成导出操作,同样导出另一张证书存储为(ServerCA.cer)6导入可信任的根证书链到你的.keystore文件中:java_home%/bin/keytool -import -alias root storepass changeit -keystore java

14、_home% /jre/lib/security/cacerts -trustcacerts -file RootCA.cer7导入可信任的server ca到你的.keystore文件中:java_home%/bin/keytool -import -alias serverca storepass changeit -keystore % java_home% /jre/lib/security/cacerts -trustcacerts -file ServerCA.cer8导入刚申请的服务器证书到你的.keystore文件中:java_home%/bin/keytool -import -alias tomcatTest -storepass lxz2003 -keystore c:/myServerKey/serverKey.keystore -trustcacerts -file Server.cer9 验证keystore 中的key pairs 和CA的有效性:java_hom

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号