成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

如何配置Tomcat以支持SSL

如何配置Tomcat 以支持SSL1、技術(shù)背景SSL(Server Socket Layer)簡(jiǎn)介在網(wǎng)絡(luò)上信息在源-宿的傳遞過(guò)程中會(huì)經(jīng)過(guò)其它的計(jì)算機(jī)。一般情況下,中間的計(jì)算機(jī)不會(huì)監(jiān)聽路過(guò)的信息。但在使

如何配置Tomcat 以支持SSL

1、技術(shù)背景

SSL(Server Socket Layer)簡(jiǎn)介

在網(wǎng)絡(luò)上信息在源-宿的傳遞過(guò)程中會(huì)經(jīng)過(guò)其它的計(jì)算機(jī)。一般情況下,中間的計(jì)算機(jī)不會(huì)監(jiān)聽路過(guò)的信息。但在使用網(wǎng)上銀行或者進(jìn)行信用卡交易的時(shí)候有可能被監(jiān)視,從而導(dǎo)致個(gè)人隱私的泄露。由于Internet 和Intranet 體系結(jié)構(gòu)的原因,總有某些人能夠讀取并替換用戶發(fā)出的信息。隨著網(wǎng)上支付的不斷發(fā)展,人們對(duì)信息安全的要求越來(lái)越高。因此Netscape 公司提出了SSL 協(xié)議,旨在達(dá)到在開放網(wǎng)絡(luò)(Internet)上安全保密地傳輸信息的目的,這種協(xié)議在WEB 上獲得了廣泛的應(yīng)用。 之后IETF(www.ietf.org)對(duì)SSL 作了標(biāo)準(zhǔn)化,即RFC2246,并將其稱為TLS (Transport Layer Security),從技術(shù)上講,TLS1.0與SSL3.0的差別非常微小。

SSL 工作原理

SSL 協(xié)議使用不對(duì)稱加密技術(shù)實(shí)現(xiàn)會(huì)話雙方之間信息的安全傳遞??梢詫?shí)現(xiàn)信息傳遞的保密性、完整性,并且會(huì)話雙方能鑒別對(duì)方身份。不同于常用的http 協(xié)議,我們?cè)谂c網(wǎng)站建立SSL 安全連接時(shí)使用https 協(xié)議,即采用https://ip:port/的方式來(lái)訪問(wèn)。

當(dāng)我們與一個(gè)網(wǎng)站建立https 連接時(shí),我們的瀏覽器與Web Server之間要經(jīng)過(guò)一個(gè)握手的過(guò)程來(lái)完成身份鑒定與密鑰交換,從而建立安全連接。具體過(guò)程如下:

1. 用戶瀏覽器將其SSL 版本號(hào)、加密設(shè)置參數(shù)、與session 有關(guān)的數(shù)據(jù)以及其它一

些必要信息發(fā)送到服務(wù)器。

2. 服務(wù)器將其SSL 版本號(hào)、加密設(shè)置參數(shù)、與session 有關(guān)的數(shù)據(jù)以及其它一些必

要信息發(fā)送給瀏覽器,同時(shí)發(fā)給瀏覽器的還有服務(wù)器的證書。如果配置服務(wù)器的

SSL 需要驗(yàn)證用戶身份,還要發(fā)出請(qǐng)求要求瀏覽器提供用戶證書。

3. 客戶端檢查服務(wù)器證書,如果檢查失敗,提示不能建立SSL 連接。如果成功,那

么繼續(xù)。

4. 客戶端瀏覽器為本次會(huì)話生成pre-master secret ,并將其用服務(wù)器公鑰加密后發(fā)

送給服務(wù)器。

5. 如果服務(wù)器要求鑒別客戶身份,客戶端還要再對(duì)另外一些數(shù)據(jù)簽名后并將其與客戶

端證書一起發(fā)送給服務(wù)器。

6. 如果服務(wù)器要求鑒別客戶身份,則檢查簽署客戶證書的CA 是否可信。如果不在信

任列表中,結(jié)束本次會(huì)話。如果檢查通過(guò),服務(wù)器用自己的私鑰解密收到的

pre-master secret,并用它通過(guò)某些算法生成本次會(huì)話的master secret。

7. 客戶端與服務(wù)器均使用此master secret 生成本次會(huì)話的會(huì)話密鑰(對(duì)稱密鑰) 。在

雙方SSL 握手結(jié)束后傳遞任何消息均使用此會(huì)話密鑰。這樣做的主要原因是對(duì)稱

加密比非對(duì)稱加密的運(yùn)算量低一個(gè)數(shù)量級(jí)以上,能夠顯著提高雙方會(huì)話時(shí)的運(yùn)算速

,

度。

8. 客戶端通知服務(wù)器此后發(fā)送的消息都使用這個(gè)會(huì)話密鑰進(jìn)行加密。并通知服務(wù)器客

戶端已經(jīng)完成本次SSL 握手。

9. 服務(wù)器通知客戶端此后發(fā)送的消息都使用這個(gè)會(huì)話密鑰進(jìn)行加密。并通知客戶端服

務(wù)器已經(jīng)完成本次SSL 握手。

10. 本次握手過(guò)程結(jié)束,會(huì)話已經(jīng)建立。雙方使用同一個(gè)會(huì)話密鑰分別對(duì)發(fā)送以及接受

的信息進(jìn)行加、解密。

2、Java 環(huán)境配置

2.1 JSSE: Java SSL extension

用來(lái)支持Java 程序的SSL 。

2.2 Keystore

Java 把密鑰、證書等都放到一個(gè)文件中,并且一個(gè)文件可以放多個(gè)密鑰對(duì)和證書信息,并用別名alias 來(lái)區(qū)分不同的密鑰和證書,存放這些信息的文件叫做keystore 。

2.3 Keytool

JDK 自帶的用于管理keystore 的工具,具有密鑰生成、導(dǎo)入、導(dǎo)出,證書生成、導(dǎo)入、導(dǎo)出等強(qiáng)大的功能。

2.4 安裝配置

確定已安裝有JDK1.2以上版本(java -version);如果你的機(jī)器安裝了jdk1.4 以上版本(集成了SSL 、keystore 和keytool ),則可略過(guò)下面的步驟。

下載JSSE ,URL: (注意,JDK1.4以

上版本已經(jīng)集成JSSE 了,不需要再下載) ,一般來(lái)說(shuō)都只能download 全球版本(還有個(gè)版本是美國(guó)/加拿大版本,加密位數(shù)沒(méi)有限制);

安裝JSSE ,主要是把JSSE 包內(nèi)的lib/*.jar拷貝到JA V A_HOME/jre/lib/ext/下,并且

加入到CLASSPA TH 中 (這一步很重要) ;

編輯JA V A_HOME/jre/lib/security/java.security文件,主要是添加:

security.provider.1=sun.security.provider.Sun (一般系統(tǒng)本來(lái)就有這一行)

(注意數(shù)字2應(yīng)該是你的系統(tǒng)security.provider.2=com.sun.net.ssl.internal.ssl.Provider

確定你的系統(tǒng)有下面文件的其中一個(gè):

1) JA V A_HOME/jre/lib/security/jssecacerts或者

2) JA V A_HOME/jre/lib/security/cacerts 原有的最大provider 數(shù)再加一,不一定是2;但一般把它的優(yōu)先級(jí)設(shè)為2,而改其它的)

3、申請(qǐng)服務(wù)器證書過(guò)程

申請(qǐng)服務(wù)器證書過(guò)程如下:

建立保存證書相關(guān)信息的目錄

如:e:myServerCert。

在dos 窗口中敲入以下命令生成keystore 文件,如圖一所示

%java_homebinkeytool -genkey -alias tomcatTest -keyalg RSA -size 2048 -keystore e:myServerCertserverKey.keystore

,

說(shuō)明:

將提示您輸入保護(hù)keystore 的密碼,至少為六位。

注意問(wèn)題:姓氏可輸入域名,中國(guó)的國(guó)家代碼是:CN

-lias tomcatTest 中的tomcatTest 為別名 可以任意輸入

請(qǐng)到e:myServerCert 目錄下確認(rèn)是否生成文件 serverKey.keystore

沒(méi)有-size 2048的指定,默認(rèn)產(chǎn)生的是2048位的密鑰對(duì)

圖一

產(chǎn)生certificate signature request (CSR) 用來(lái)向CA 頒發(fā)機(jī)構(gòu)申請(qǐng)有效

的服務(wù)器證書

%java_homebinkeytool –certreq -keyalg RSA -alias tomcatTest -file e:myServerCert ?rtreq.csr -storepass lxz2003 -keystore e:myServerCertserverKey.keystore

命令行的說(shuō)明:

-alias tomcatTest 在生成.keystore 的別名

-storepass 訪問(wèn).keystore 的密碼

-file certreq.csr 生成證書請(qǐng)求存放的文件

在e:myServerCert目錄下找到certreq.csr 文件用文本編輯器(如notepad.exe 、ultraedit.exe )打開(注意千萬(wàn)不要改變其中的內(nèi)容或用word 等帶有一定格式的字處理軟件編輯或存儲(chǔ)以上信息。)文件內(nèi)容類似如下:

-----BEGIN NEW CERTIFICATE REQUEST-----

MIIBqjCCARMCAQAwajELMAkGA1UEBhMCQ04xEjAQBgNVBAgTCWd1YW5nZG9u c2hlbnpoZW4xDzANBgNVBAoTBmJ5dHRlcjEPMA0GA1UECxMGYnl0dGVyMRIwEAY MC4wLjEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALKNsefgVD4KhkgKfY PP7ctq4wMqR807Q joeqqu78hwD4Dd8I4R7Fg6pl6GGMhuOVG s7j59Qf s9pdUM/Sj5ex IM5skhiYSsIgsDWMY/mMl2u212AeNKxR2bzRrWtT0OUv1yHvCmE6CmifqKce51R3Ag BgkqhkiG9w0BAQQFAAOBgQBOq79Rhmt2yo1B2ezUBAv6ieyMLGvYxDID/ SU8UpKw0 rpdpPEQjOPKDnQW1gXyU5zxheWMCh7K4p/r2NNf2cvzs3hGvESwx2/cjDo2q246EoZqy/ LfaUqDbvqCEVS29Z/0tL h6GEcsQU /P6wVvOZ0MFA==

,

-----END NEW CERTIFICATE REQUEST-----

登陸到CFCA 網(wǎng)站提交證書請(qǐng)求,下載證書

得Web Server證書的參考號(hào)和授權(quán)碼后,訪問(wèn)CFCA 統(tǒng)一下載平臺(tái)(生產(chǎn)系統(tǒng),測(cè)試系統(tǒng):)。

進(jìn)入界面后,如果沒(méi)有下載CA 證書鏈的話,可以在該頁(yè)面上先點(diǎn)擊下載證書鏈(詳細(xì)介紹見本章4.2),然后點(diǎn)擊“Web 服務(wù)器證書下載”

,

選擇“接受此協(xié)議”進(jìn)入下載界面,輸入?yún)⒖继?hào)和授權(quán)碼,并在“選項(xiàng)”中選擇返回的證書的數(shù)據(jù)格式。例如選擇DER (默認(rèn)的方式),把前面得到的PKCS#10格式證書請(qǐng)求(certreq.csr 中的內(nèi)容)粘貼到下面的文本框。

提交該表單,證書將被產(chǎn)生并返回。

保存證書到指定目錄,證書申請(qǐng)完成

,

5、安裝下載CFCA 測(cè)試證書鏈

在在證書下載平臺(tái)(測(cè)試系統(tǒng):

產(chǎn)系統(tǒng)http://www.cfca.com.cn/tongyi/)選擇證書鏈下載,

下載根證書鏈(將CFCA ROOT CA及CFCA OPERATION CA2下的內(nèi)容分被保存為文件),即獲得b_Cert.zip

或者直接在CFCA 網(wǎng)站上下載證書鏈(選擇APACHE 用戶下載):http://www.cfca.com.cn/zhengshu/zhengshu.htm#2

解壓b_Cert.zip(生產(chǎn)系統(tǒng))后,可以看到文件Root_CA.cer,Operation_CA2.cer。 解壓b_Tcerts.zip(測(cè)試系統(tǒng))后,可以看到文件CFCARCA.cer ,CFCATESTCA.cer 。 以生產(chǎn)系統(tǒng)為例:1744307125

導(dǎo)入可信任的根證書到你的.keystore 文件中

%java_homebinkeytool -import -alias root –storepass changeit -keystore

%java_home jrelibsecurity?certs -trustcacerts -file C:Downloadsb_TcertsRoot_CA.cer(如果是測(cè)試系統(tǒng)就是CFCARCA.cer )

導(dǎo)入可信任的中級(jí)證書到你的.keystore 文件中

%java_homebinkeytool -import -alias ca2 –storepass changeit -keystore

java_home jrelibsecurity?certs -trustcacerts -file C:Downloadsb_Tcerts Operation_CA2.cer(如果是測(cè)試系統(tǒng)就是CFCATESTCA.cer )

導(dǎo)入剛申請(qǐng)的服務(wù)器證書到你的.keystore 文件中

%java_homebinkeytool -import -alias tomcatTest -storepass lxz2003 -keystore

,

e:myServerCertserverKey.keystore -trustcacerts -file e:myServerCertservercert.cer

注意:-storepass 、-keystore 后面的參量與導(dǎo)入CA 證書的時(shí)候不同?。?!

驗(yàn)證keystore 中的key pairs 和CA 的有效性

%java_homebinkeytool -list –v -alias tomcatTest –storepass lxz2003 -keystore e:myServerCertserverKey.keystore

屏幕輸出如下,圖十。

圖十

6、配置服務(wù)器(TOMCAT )開啟SSL 服務(wù)

6.1 修改tomcat 配置文件server.xml

打開TOMCAT 安裝目錄的confserver.xml文件找到如下文本,取消注釋,添加下面的紅色標(biāo)注內(nèi)容:

port="8443" minProcessors="5" maxProcessors="75"

enableLookups="true"

acceptCount="100" debug="0" scheme="https" secure="true"

,

useURIValidationHack="false" disableUploadTimeout="true">

clientAuth="true" protocol="TLS"

/>

TOMCAT5.5按照如下配置:

maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" disableUploadTimeout="true"

acceptCount="100" scheme="https" secure="true"

clientAuth="true" sslProtocol="TLS"

truststoreFile="H:?caratrust.keystore"——證書鏈文件,相當(dāng)于前文的cacerts 文件。

truststorePass=" keystoreFile="H:?caraserverssl.keystore" ——服務(wù)器證書文件,

——相當(dāng)于前文的serverKey.keystore 文件

keystorePass="" >

由于tomcat 不同版本在配置服務(wù)器證書的部分有可能有不同,所以把我們已知的tomcat 版本配置的情況補(bǔ)充在附錄,作為參考。

clientAuth="true":要求客戶端必須出示證書,雙向SSL ;

clientAuth="want":客戶端可以出示證書也可以選擇不出示證書,單雙向SSL ; clientAuth="true":客戶端無(wú)須出示證書,單向SSL 。

6.2 測(cè)試服務(wù)器證書是否成功安裝

重新啟動(dòng)TOMCA T, 打開IE 瀏覽器在地址欄內(nèi)輸入:https://127.0.0.1:8443/index.jsp出現(xiàn)如下頁(yè)面表示TOMCA T 服務(wù)器證書配置成功,圖十一

,

圖十一

圈選部分雙擊可顯示證書信息。

如果在TOMCAT 的server.xml 配置中將clientAuth="false"改為“true ”,則客戶端必須申請(qǐng)客戶端證書,如沒(méi)有客戶端證書則被拒絕訪問(wèn)(最好設(shè)置為true )顯示如下頁(yè)面,圖十二。

,

圖十二

7附錄

由于tomcat 不同版本在配置服務(wù)器證書的部分有可能有不同,所以把我們已知的tomcat 版本配置的情況補(bǔ)充在此,作為參考。

7.1 Tomcat6.0 SSL的配置

1. 參考:

Tomcat 6.0 自帶的文檔docs/ssl-howto.html,詳細(xì)介紹了配置過(guò)程。

2. 目的:

以下詳細(xì)描述配置過(guò)程,僅作為備忘錄。

3. 備忘錄:

Step1,安裝tomcat 6.0.18,此為當(dāng)前最新版本,需JDK5.0或以上。

l JDK 安裝后,可以在命令行下使用如下命令檢測(cè)是否成功。

C:Documents and Settingsnew>java -version

java version "1.6.0_10"

Java(TM) SE Runtime Environment (build 1.6.0_10-b33)

Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing)

看到以上藍(lán)色信息,則表示JDK 安裝配置成功。

l Tomcat 的運(yùn)行需要配置JDK_HOME和JRE_HOME環(huán)境變量,JRE_HOME默認(rèn)等于JDK_HOME的值。

Step2,創(chuàng)建服務(wù)器端certificate keystore和自簽名certificate 。

在命令行下使用如下命令:

C:Documents and Settingsnew>keytool -genkey -alias mykey -keyalg RSA -keystore

server.keystore

輸入keystore 密碼:123456

再次輸入新密碼:123456

您的名字與姓氏是什么?

[Unknown]: dinstone

您的組織單位名稱是什么?

標(biāo)簽: