Tomcat下使用ssl实现双向认证(http 转换为https)_第1页
Tomcat下使用ssl实现双向认证(http 转换为https)_第2页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、理解单向双向认证:单向认证:客户端向服务器发送消息,服务器接到消息后,用服务器端的密钥库中的私钥对数据进行加密,然后把加密后的数据和服务器端的公钥一起发送到客户端,客户端用服务器发送来的公钥对数据解密,然后在用传到客户端的服务器公钥对数据加密传给服务器端,服务器用私钥对数据进行解密,这就完成了客户端和服务器之间通信的安全问题,但是单向认证没有验证客户端的合法性。双向认证:客户端向服务器发送消息,首先把消息用客户端证书加密然后连同时把客户端证书一起发送到服务器端,服务器接到消息后用首先用客户端证书把消息解密,然后用服务器私钥把消息加密,把服务器证书和消息一起发送到客户端,客户端用发来的服务器证书

2、对消息进行解密,然后用服务器的证书对消息加密,然后在用客户端的证书对消息在进行一次加密,连同加密消息和客户端证书一起发送到服务器端,到服务器端首先用客户端传来的证书对消息进行解密,确保消息是这个客户发来的,然后用服务器端的私钥对消息在进行解密这个便得到了明文数据。1. SSL(ServerSocketLayer)简介在网络上信息在源-宿的传递过程中会经过其它的计算机。一般情况下,中间的计算机不会监听路过的信息。但在使用网上银行或者进行信用卡交易的时候有可能被监视,从而导致个人隐私的泄露。由于Internet和Intranet体系结构的原因,总有某些人能够读取并替换用户发出的信息。随着网上支付的

3、不断发展,人们对信息安全的要求越来越高。因此Netscape公司提出了SSL协议,旨在达到在开放网络(Internet)上安全保密地传输信息的目的,这种协议在WEB上获得了广泛的应用。之后IETF(对SSL作了标准化,即RFC2246,并将其称为TLS(TransportLayerSecurity),从技术上讲,TLS1.0与SSL3.0的差别非常微小。2. SSL工作原理SSL协议使用不对称加密技术实现会话双方之间信息的安全传递。可以实现信息传递的保密性、完整性,并且会话双方能鉴别对方身份。不同于常用的http协议,我们在与网站建立SSL安全连接时使用https协议,即采用h

4、ttps:/ip:port/的方式来访问。当我们与一个网站建立https连接时,我们的浏览器与WebServer之间要经过一个握手的过程来完成身份鉴定与密钥交换,从而建立安全连接。具体过程如下:用户浏览器将其SSL版本号、加密设置参数、与session有关的数据以及其它一些必要信息发送到服务器。服务器将其SSL版本号、加密设置参数、与session有关的数据以及其它一些必要信息发送给浏览器,同时发给浏览器的还有服务器的证书。如果配置服务器的SSL需要验证用户身份,还要发出请求要求浏览器提供用户证书。客户端检查服务器证书,如果检查失败,提示不能建立SSL连接。如果成功,那么继续。客户端浏览器为本

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

6、以上,能够显著提高双方会话时的运算速度。客户端通知服务器此后发送的消息都使用这个会话密钥进行加密。并通知服务器客户端已经完成本次SSL握手。服务器通知客户端此后发送的消息都使用这个会话密钥进行加密。并通知客户端服务器已经完成本次SSL握手。本次握手过程结束,会话已经建立。双方使用同一个会话密钥分别对发送以及接受的信息进行加、解密。3。首先下载jks2pfx工具一。建立自己的CA,生成CA私钥以及自签名根证书生成CA私钥pemopensslgenrsa-outca-key.pem1024根据CA私钥pem生成待签名证书csropensslreq-new-outca-req.csr-keyca-k

7、ey.pem用CA私钥pem进行自签名生成根证书opensslx509-req-inca-req.csr-outca-cert.pem-signkeyca-key.pem-days365二。生成server端证书生成KeyPairkeystorekeytool-genkey-aliastomcat_server-validity365-keyalgRSA-keysize1024-keypasschangeit-storepasschangeit-dname"cn=localhost,ou=department,o=company,l=Beijing,st=Beijing,c=CN&q

8、uot;-keystoreserver_keystore生成待签名证书csrkeytool-certreq-aliastomcat_server-sigalgMD5withRSA-fileserver.csr-keypasschangeit-keystoreserver_keystore-storepasschangeit用CA私钥进行签名opensslx509-req-inserver.csr-outserver-cert.pem-CAca-cert.pem-CAkeyca-key.pem-days365导入信任的CA根证书到JSSE的默认位置(JDK_ROOT%/jre/security/

9、cacerts)keytool-import-v-trustcacerts-storepasschangeit-aliasmy_ca_root-fileca-cert.pem-keystoreD:programjdk1.5.0_06jrelibsecuritycacerts把CA签名后的server端证书导入keystorekeytool-import-v-trustcacerts-storepasschangeit-aliastomcat_server-fileserver-cert.pem-keystoreserver_keystore修改server.xml使Tomcat支持SSL在&l

10、t;Servicename="Catalina">下边添加如下内容:<Connectorprotocol="org.apache.coyote.http11.Http11Protocol"port="8443"maxHttpHeaderSize="8192"maxThreads="150"minSpareThreads="25"maxSpareThreads="75"enableLookups="false"disableU

11、ploadTimeout="true"acceptCount="100"scheme="https"secure="true"clientAuth="true"sslProtocol="TLS"keystoreFile="server_keystore"keystorePass="changeit"/>三,建立在IE中安装个人证书生成client私钥并用CA私钥签名生成client私钥opensslgenrsa-outclient

12、-key.pem1024生成待签名证书opensslreq-new-outclient-req.csr-keyclient-key.pem用CA私钥进行签名opensslx509-req-inclient-req.csr-outclient.crt-signkeyclient-key.pem-CAca-cert.pem-CAkeyca-key.pem-CAcreateserial-days365生成client端的个人证书因为JSSE1.0.2没有完全实现了对PKCS#12格式文件的操作(只能读取,不能输出),所以在这里需要用openssl制作client端的个人证书(包含私钥)。openss

13、lpkcs12-export-clcerts-inclient.crt-inkeyclient-key.pem-outclient.p12安装信任的根证书把ca-cert.pem改名为ca-cert.cer,在client端的IE中使用"工具'Internet选项'内容'证书'导入"把我们生成的CA根证书导入,使其成为用户信任的CA。安装个人证书把client.p12导入到client端的IE中作为个人证书,导入过程同442.5。用IE浏览器使用SSL协议访问Tomcat启动Tomcat用IE访问Tomcat在IE浏览器的地址栏中输入https:/localhost:8443,如果前面的操作都正确的话,应该可以看到Tomcat的欢

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论