关键字 SSL Tomcat Openssl keytool
一、配置环境
1.1 Tomcat简介
Tomcat是Apache Jakarta的子项目之一,作为一个优秀的开源web应用服务器,全面支持jsp1.2连同servlet2.3规范。因其技术先进、性能稳定,而且免 费,因而深受Java爱好者的喜爱并得到了部分软件研发商的认可,成为现在比较流行的web应用服务器。
1.2 SSL(Server Socket Layer)简介
在网络上信息在源-宿的传递过程中会经过其他的电脑。一般情况下,中间的电脑不会监听路过的信息。但在使用网上银行或进行信用卡交易的时候有可能被
监控,从而导致个人隐私的泄露。由于Internet和Intranet体系结构的原因,总有某些人能够读取并替换用户发出的信息。随着网上支付的不断发
展,人们对信息安全的需要越来越高。因此Netscape公司提出了SSL协议,旨在达到在开放网络(Internet)上安全保密地传输信息的目的,这
种协议在WEB上获得了广泛的应用。
之后IETF(www.ietf.org)对SSL作了标准化,即RFC2246,并将其称为TLS(Transport Layer
Security),从技术上讲,TLS1.0和SSL3.0的差别很微小。
1.3 SSL工作原理
SSL协议使用不对称加密技术实现会话双方之间信息的安全传递。能够实现信息传递的保密性、完整性,并且会话双方能鉴别对方身份。不同于常用的http协
议,我们在和网站建立SSL安全连接时使用https协议,即采用https://ip:port/的方式来访问。
当我们和一个网站建立https连接时,我们的浏览器和Web Server之间要经过一个握手的过程来完成身份鉴定和密钥交换,从而建立安全连接。具体过程如下:
用户浏览器将其SSL版本号、加密配置参数、和session有关的数据连同其他一些必要信息发送到服务器。
服务器将其SSL版本号、加密配置参数、和session有关的数据连同其他一些必要信息发送给浏览器,同时发给浏览器的更有服务器的证书。假如配置服务器的SSL需要验证用户身份,还要发出请求需要浏览器提供用户证书。
客户端检查服务器证书,假如检查失败,提示不能建立SSL连接。假如成功,那么继续。
客户端浏览器为本次会话生成pre-master secret,并将其用服务器公钥加密后发送给服务器。
假如服务器需要鉴别客户身份,客户端还要再对另外一些数据签名后并将其和客户端证书一起发送给服务器。
假如服务器需要鉴别客户身份,则检查签署客户证书的CA是否可信。假如不在信任列表中,结束本次会话。假如检查通过,服务器用自己的私钥解密收到的pre-master secret,并用他通过某些算法生成本次会话的master secret。
客户端和服务器均使用此master secret生成本次会话的会话密钥(对称密钥)。在双方SSL握手结束后传递任何消息均使用此会话密钥。这样做的主要原因是对称加密比非对称加密的运算量低一个数量级以上,能够显著提高双方会话时的运算速度。
客户端通知服务器此后发送的消息都使用这个会话密钥进行加密。并通知服务器客户端已完成本次SSL握手。
服务器通知客户端此后发送的消息都使用这个会话密钥进行加密。并通知客户端服务器已完成本次SSL握手。
本次握手过程结束,会话已建立。双方使用同一个会话密钥分别对发送连同接受的信息进行加、解密。
1.4 所需软件包
Tomcat 4.0.2
用途:Web Server。
下载:http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.3/bin/
JSSE 1.0,2
用途:用来产生Tocmcat使用的秘钥对(keystore)。
下载: http://java.sun.com/products/jsse/
Openssl 0.9.9.6
用途:用来产生CA证书、签名并生成IE可导入的PKCS#12格式私钥。
下载:http://www.openssl.org/
二 配置步骤
2.1 建立自己的CA证书
1.在openssl的apps目录下建立自己的CA目录,例如:mageCA
mkdir mageCA
2.生成CA密钥
openssl genrsa -out mageCA/ca-key.pem 1024
genrsa [产生密钥命令] –out[密钥文档输出路径] 1024 [密钥位数]
3.生成待签名的证书
openssl req -new -out mageCA/ca-req.csr -key mageCA/ca-key.pem
req[产生证书命令]-new[新生成]-out[证书文档输出路径]-key[私钥文档路径]
4.用CA私钥自签名
openssl x509 -req -in mageCA/ca-req.csr -out mageCA/ca-cert.pem -signkey mageCA/ca-key.pem -days 365
x509[签发x509证书命令]-req[输入待签发证书]-in[输入待签发证书文档路径]-out[产生x509证书文档输出路径]-
signkey[自签发密钥文档路径]-days[证书有效期]–CA[签发跟证书]-Cakey[根证书密钥文档]
–Cacreateserial[创建序列号]
[注] 将自动生成的ca-key.srl文档拷贝到创建的CA目录下.。
2.2 配置Tomcat 4.X
2.2.1 建立服务器证书
[注] 在本文中用符号"%JDK_HOME%"来表示JDK的安装位置,用符号"%TCAT_HOME%" 表示Tomcat的安装位置。
1. 建立工作目录
在%JDK_HOME%的bin目录下建立自己的server目录,例如:server
mkdir server
2. 生成server密钥对
%JDK_HOME%/bin/keytool -genkey -alias tomcat_server -validity 365
-keyalg RSA -keysize 1024 -keypass changeit -storepass changeit -dname
"cn=localhost, ou=department, o=company, l=Beijing, st=Beijing, c=CN"
-keystore server/server_keystore
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




