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

https原理及tomcat配置https方法

HTTP 與HTTPS 介紹一、 什么是HTTPS在說HTTPS 之前先說說什么是HTTP ,HTTP 就是我們平時瀏覽網(wǎng)頁時候使用的一種協(xié)議。HTTP 協(xié)議傳 輸?shù)臄?shù)據(jù)都是未加密的,也就是明文的,因

HTTP 與HTTPS 介紹

一、 什么是HTTPS

在說HTTPS 之前先說說什么是HTTP ,HTTP 就是我們平時瀏覽網(wǎng)頁時候使用的一種協(xié)議。HTTP 協(xié)議傳 輸?shù)臄?shù)據(jù)都是未加密的,也就是明文的,因此使用HTTP 協(xié)議傳輸隱私信息非常不安全。為了保證這些隱私數(shù)據(jù)能加密傳輸,于是網(wǎng)景公司設(shè)計了 SSL(Secure Sockets Layer )協(xié)議用于對HTTP 協(xié)議傳輸?shù)臄?shù)據(jù)進行加密,從而就誕生了HTTPS 。SSL 目前的版本是3.0,被IETF (Internet Engineering Task Force)定義在RFC 6101中,之后IETF 對SSL 3.0進行了升級,于是出現(xiàn)了TLS (Transport Layer Security) 1.0,定義在RFC 2246。實際上我們現(xiàn)在的HTTPS 都是用的TLS 協(xié)議,但是由于SSL 出現(xiàn)的時間比較早,并且依舊被現(xiàn)在瀏覽器所支持,因此SSL 依然是HTTPS 的 代名詞,但無論是TLS 還是SSL 都是上個世紀(jì)的事情,SSL 最后一個版本是3.0,今后TLS 將會繼承SSL 優(yōu)良血統(tǒng)繼續(xù)為我們進行加密服務(wù)。目前 TLS的版本是

1.2,定義在RFC 5246中,暫時還沒有被廣泛的使用。

二、 Https的工作原理

HTTPS在傳輸數(shù)據(jù)之前需要客戶端(瀏覽器)與服務(wù)端(網(wǎng)站)之間進行一次握手,在握手過程中將確立雙方加密傳輸數(shù)據(jù)的密碼信息。TLS/SSL協(xié)議不僅僅是一套加密傳輸?shù)膮f(xié)議,更是一件經(jīng)過藝術(shù)家精心設(shè)計的藝術(shù)品,TLS/SSL中使用了非對稱加密,對稱加密以及HASH 算法。握手過程的簡單描述如 下:

1. 瀏覽器將自己支持的一套加密規(guī)則發(fā)送給網(wǎng)站。

2. 網(wǎng)站從中選出一組加密算法與HASH 算法,并將自己的身份信息以證書的形式發(fā)回給瀏覽器。證書里面包含了網(wǎng)站地址,加密公鑰,以及證書的頒發(fā)機構(gòu)等信息。

3. 獲得網(wǎng)站證書之后瀏覽器要做以下工作:

a) 驗證證書的合法性(頒發(fā)證書的機構(gòu)是否合法,證書中包含的網(wǎng)站地址是否與正在訪問的地址一致等),如果證書受信任,則瀏覽器欄里面會顯示一個小鎖頭,否則會給出證書不受信的提示。

b) 如果證書受信任,或者是用戶接受了不受信的證書,瀏覽器會生成一串隨機數(shù)的密碼,并用證書中提供的公鑰加密。

c) 使用約定好的HASH 計算握手消息,并使用生成的隨機數(shù)對消息進行加密,最后將之前生成的所有信息發(fā)送給網(wǎng)站。

4. 網(wǎng)站接收瀏覽器發(fā)來的數(shù)據(jù)之后要做以下的操作:

a) 使用自己的私鑰將信息解密取出密碼,使用密碼解密瀏覽器發(fā)來的握手消息,并驗證HASH 是否與瀏覽器發(fā)來的一致。

b) 使用密碼加密一段握手消息,發(fā)送給瀏覽器。

5. 瀏覽器解密并計算握手消息的HASH ,如果與服務(wù)端發(fā)來的HASH 一致,此時握手過程結(jié)束,之后所有的通信數(shù)據(jù)將由之前瀏覽器生成的隨機密碼并利用對稱加密算法進行加密。

,

這里瀏覽器與網(wǎng)站互相發(fā)送加密的握手消息并驗證,目的是為了保證雙方都獲得了一致的密碼,并且可以正常的加密解密數(shù)據(jù),為后續(xù)真正數(shù)據(jù)的傳輸做一次測試。另外,HTTPS 一般使用的加密與HASH 算法如下: 非對稱加密算法:RSA ,DSA/DSS

對稱加密算法:AES ,RC4,3DES

HASH 算法:MD5,SHA1,SHA256

其 中非對稱加密算法用于在握手過程中加密生成的密碼,對稱加密算法用于對真正傳輸?shù)臄?shù)據(jù)進行加密,而HASH 算法用于驗證數(shù)據(jù)的完整性。由于瀏覽器生成的密 碼是整個數(shù)據(jù)加密的關(guān)鍵,因此在傳輸?shù)臅r候使用了非對稱加密算法對其加密。非對稱加密算法會生成公鑰和私鑰,公鑰只能用于加密數(shù)據(jù),因此可以隨意傳輸,而 網(wǎng)站的私鑰用于對數(shù)據(jù)進行解密,所以網(wǎng)站都會非常小心的保管自己的私鑰,防止泄漏。 TLS 握手過程中如果有任何錯誤,都會使加密連接斷開,從而阻止了隱私信息的傳輸。

******************************************************************************************** SSL協(xié)議與數(shù)字證書

原理.doc

********************************************************************************************

Tomcat 配置HTTPS 方式

第一步:為服務(wù)器生成證書

使用keytool 為Tomcat 生成證書,假定目標(biāo)機器的域名是“l(fā)ocalhost ”,keystore 文件存放在“D:tomcat.keystore”

在開始,運行里輸入cmd 回車,進入JAVA_HOME/bin目錄,就是jdk 的安裝目前,使用如下命令進入目錄:

cd “c:Program FilesJavajdk1.6.0_11bin” (實測不進入該目錄也行)

keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:tomcat.keystore -validity 36500 -genkey 表示生成密鑰

-validity 指定有效期,天單位,這里是36500天

-alias 指定密鑰別名,這里是tomcat

-keyalg 指定密鑰算法,這里是RSA

,

-keypass 指定密鑰別名密碼

-keysize 指定密鑰長度字節(jié)數(shù),如1024

-keystore 指定密鑰文件存儲位置和密鑰文件名稱

安裝提示輸入用戶名,組織,地區(qū),國家等,即可正確生成,該步為服務(wù)器生成了證書。

您的名字與姓氏是什么?

這個要重點注意, 其實是讓你輸入應(yīng)用的域名本地測試或者開發(fā)請設(shè)置為localhos 真實環(huán)境需輸入真實的應(yīng)用域名,就是你將來要在瀏覽器中輸入的訪問地址

"-validity 36500”含義是證書有效期,36500表示100年,默認(rèn)值是90天

tomcat”為自定義證書名稱

進入到D 盤根目錄下可以看到已經(jīng)生成tomcat.keystore 文件。

注意若要放到c 盤,在win7系統(tǒng)下,需要以管理員身份進入到命令行中進行操作,否則是無法創(chuàng)建如何以管理員身份進入到命令行下呢?開始->搜索框中輸入cmd->等待(注意不回車)->出現(xiàn)tomcat.keystore 的。本例放到d 盤下。 cmd.exe->右鍵“以管理員身份運行”即可

單向認(rèn)證的話,到這一步即可。但是這樣產(chǎn)生的證書,因為沒有經(jīng)過專門的CA 認(rèn)證,瀏覽器訪問時,會彈出警告。點擊安裝服務(wù)器證書即可。

單向認(rèn)證只需站點部署了ssl 證書就行,任何用戶都可以去訪問(IP 被限制除外等),只是服務(wù)端提供了身份認(rèn)證。

雙向認(rèn)證是服務(wù)端需要客戶端提供身份認(rèn)證,也就是只能是服務(wù)端允許的客戶能去訪問,安全性相對于要高一些。

,

一般web 應(yīng)用都是采用單向認(rèn)證的,原因很簡單,用戶數(shù)目廣泛,且無需做在通訊層做用戶身份驗證,一般都在應(yīng)用邏輯層來保證用戶的合法登入。但如果是企業(yè)應(yīng)用對接,情況就不一樣,可能會要求對client (相對而言)做身份驗證。這時需要做雙向認(rèn)證。

雙向認(rèn)證,要執(zhí)行第二步,第三步。

******************************************************************************************** 第二步:為客戶端生成證書

下一步是為瀏覽器客戶端生成證書,以便讓服務(wù)器來驗證它。為了能將證書順利導(dǎo)入至IE 和Firefox ,證書格式應(yīng)該是PKCS12,因此,使用如下命令生成:

keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore D:mykey.p12 -validity 3650

(mykey 為自定義)

對應(yīng)的客戶端證書庫存放在“D:mykey.p12”,客戶端的CN 可以是任意值。雙擊mykey.p12文件,即可將證書導(dǎo)入至瀏覽器(客戶端)。這種方法只能導(dǎo)入到IE 中,不能導(dǎo)入到火狐瀏覽器中

將客戶端證書導(dǎo)入I

E中.doc

******************************************************************************************** 第三步:讓服務(wù)器信任客戶端證書

由于是雙向SSL 認(rèn)證,服務(wù)器必須要信任客戶端證書,因此,必須把客戶端證書添加為服務(wù)器的信任認(rèn)證。由于不能直接將PKCS12格式的證書庫導(dǎo)入,我們必須先把客戶端證書導(dǎo)出為一個單獨的CER 文件,使用如下命令:

,

keytool -export -alias mykey -keystore D:mykey.p12 -storetype PKCS12 -storepass 123456 -rfc -file D:mykey.cer

(mykey為自定義與客戶端定義的mykey 要一致,password 是你在“第二步”時設(shè)置的密碼) 。通過以上命令,客戶端證書就被我們導(dǎo)出到“D:mykey.cer”文件了。

下一步,是將該文件導(dǎo)入到服務(wù)器的證書庫,添加為一個信任證書,使用命令如下:

keytool -import -v -alias mykey -file D:mykey.cer -keystore D:tomcat.keystore

有文檔說要加上后面這個參數(shù),但是報錯 -storepass changeit

此處要輸入密碼,密碼為“第一步”中的密碼

通過list 命令查看服務(wù)器的證書庫,可以看到兩個證書,一個是服務(wù)器證書,一個是受信任的客戶端證書: keytool -list -keystore D:tomcat.keystore

或者指定別名查看證書

keytool -list -alias tomcat -keystore D:tomcat.keystore

輸入密碼,密碼為“第一步”中設(shè)置的密碼

,

刪除證書命令Keytool -delete -keystore d:tomcat.keystore

輸入密碼,別名

或者在命令里輸入刪除的別名Keytool -delete -alias wangwu -keystore d:tomcat.keystore 輸入密碼

注意:如果刪除客戶端證書,再用客戶端訪問服務(wù)器網(wǎng)址,發(fā)現(xiàn)還是可以認(rèn)證通過的,原因是沒有重啟tomcat 服務(wù)器,重啟下就認(rèn)證不通過了。

客戶端證書導(dǎo)入至

服務(wù)器信任問題.doc

******************************************************************************************** 第四步:配置server.xml

進入tomcat 文件夾

找到conf 目錄下的sever.xml 并進行編輯

找到

標(biāo)簽: