欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Mac OS X配置tomcat支持HTTPS

[摘要:由于公司的項目要兼容HTTP戰HTTPS,以是比來(lái)便研討了一下HTTPS那一塊的內容,算是略有支貨吧,把我教的一些器械分享給人人,若是有紕謬的中央借看人人可以或許指出去,好一塊進(jìn)修提高]

因為公司的項目要兼容HTTP和HTTPS,所以最近就研究了一下HTTPS這一塊的內容,算是略有收貨吧,把我學(xué)的一些東西分享給大家,如果有不對的地方還望大家能夠指出來(lái),好一塊學(xué)習進(jìn)步。在這篇文章中,我會(huì )從以下幾點(diǎn)進(jìn)行介紹:
一、HTTPS的基本工作原理;
二、服務(wù)端證書(shū)的生成;
三、客戶(hù)端證書(shū)的生成;
四、服務(wù)端信任客戶(hù)端證書(shū);
五、客戶(hù)端信任服務(wù)端證書(shū);
六、配置Tomcat服務(wù)器使其支持HTTPS。

一、HTTPS的基本工作原理:

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

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

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

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

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

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

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

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

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

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

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

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

非對稱(chēng)加密算法:RSA,DSA/DSS

對稱(chēng)加密算法:AES,RC4,3DES

HASH算法:MD5,SHA1,SHA256

其中非對稱(chēng)加密算法用于在握手過(guò)程中加密生成的密碼,對稱(chēng)加密算法用于對真正傳輸的數據進(jìn)行加密,而HASH算法用于驗證數據的完整性。由于瀏覽器生成的密碼是整個(gè)數據加密的關(guān)鍵,因此在傳輸的時(shí)候使用了非對稱(chēng)加密算法對其加密。非對稱(chēng)加密算法會(huì )生成公鑰和私鑰,公鑰只能用于加密數據,因此可以隨意傳輸,而網(wǎng)站的私鑰用于對數據進(jìn)行解密,所以網(wǎng)站都會(huì )非常小心的保管自己的私鑰,防止泄漏。

TLS握手過(guò)程中如果有任何錯誤,都會(huì )使加密連接斷開(kāi),從而阻止了隱私信息的傳輸。

二、服務(wù)端證書(shū)的生成:

打開(kāi)mac上的終端,使用keytool為T(mén)omcat生成證書(shū),假定目標機器的域名是“localhost”,keystore文件存放在“/Users/用戶(hù)名/工作/CA/”目錄下,名稱(chēng)叫做“tomcat.keystore”,使用“RSA”加密,口令為“password”,過(guò)期時(shí)間為100年,使用如下命令生成:

keytool -genkey -v -alias tomcat -keyalg RSA -keystore /Users/用戶(hù)名/工作/CA/tomcat.keystore -validity 36500

(參數簡(jiǎn)要說(shuō)明:“/Users/用戶(hù)名/工作/CA/tomcat.keystore”是證書(shū)文件的保存路徑,證書(shū)文件名稱(chēng)是tomcat.keystore ;“-validity 36500”含義是證書(shū)有效期,36500表示100年,默認值是90天 “tomcat”為自定義證書(shū)名稱(chēng))。
在命令行填寫(xiě)必要參數:
A、 輸入keystore密碼:此處需要輸入大于6個(gè)字符的字符串。
B、 “您的名字與姓氏是什么?”這是必填項,并且必須是tomcat部署主機的域名或者IP[如:gbcom.com 或者 10.1.25.251](就是你將來(lái)要在瀏覽器中輸入的訪(fǎng)問(wèn)地址),否則瀏覽器會(huì )彈出警告窗口,提示用戶(hù)證書(shū)與所在域不匹配。在本地做開(kāi)發(fā)測試時(shí),應填入“l(fā)ocalhost”。
C、 你的組織單位名稱(chēng)是什么?”、“您的組織名稱(chēng)是什么?”、“您所在城市或區域名稱(chēng)是什么?”、“您所在的州或者省份名稱(chēng)是什么?”、“該單位的兩字母國家代碼是什么?”可以按照需要填寫(xiě)也可以不填寫(xiě)直接回車(chē),在系統詢(xún)問(wèn)“正確嗎?”時(shí),對照輸入信息,如果符合要求則使用鍵盤(pán)輸入字母“y”,否則輸入“n”重新填寫(xiě)上面的信息。
D、 輸入的主密碼,這項較為重要,會(huì )在tomcat配置文件中使用,建議輸入與keystore的密碼一致,設置其它密碼也可以,完成上述輸入后,直接回車(chē)則在你在第二步中定義的位置找到生成的文件。

三、客戶(hù)端證書(shū)的生成:

為瀏覽器生成證書(shū),以便讓服務(wù)器來(lái)驗證它。為了能將證書(shū)順利導入至IE和Firefox,證書(shū)格式應該是PKCS12,因此,使用如下命令生成:

keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore /Users/用戶(hù)名/工作/CA/mykey.p12

(mykey為自定義)
對應的證書(shū)庫存放在“/Users/用戶(hù)名/工作/CA/mykey.p12”,客戶(hù)端的CN可以是任意值。雙擊mykey.p12文件,即可將證書(shū)導入至瀏覽器(客戶(hù)端)。

四、服務(wù)端信任客戶(hù)端證書(shū):

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

keytool -export -alias mykey -keystore /Users/用戶(hù)名/工作/CA/mykey.p12 -storetype PKCS12 -storepass password -rfc -file /Users/用戶(hù)名/工作/CA/mykey.cer

(mykey為自定義與客戶(hù)端定義的mykey要一致,password是你設置的密碼)。通過(guò)以上命令,客戶(hù)端證書(shū)就被我們導出到“/Users/用戶(hù)名/工作/CA/mykey.cer”文件了。
下一步,是將該文件導入到服務(wù)器的證書(shū)庫,添加為一個(gè)信任證書(shū)使用命令如下:

keytool -import -v -file /Users/用戶(hù)名/工作/CA/mykey.cer -keystore /Users/用戶(hù)名/工作/CA/tomcat.keystore

通過(guò)list命令查看服務(wù)器的證書(shū)庫,可以看到兩個(gè)證書(shū),一個(gè)是服務(wù)器證書(shū),一個(gè)是受信任的客戶(hù)端證書(shū):

keytool -list -keystore /Users/用戶(hù)名/工作/CA/tomcat.keystore

(tomcat為你設置服務(wù)器端的證書(shū)名)。

五、客戶(hù)端信任服務(wù)端證書(shū):

由于是雙向SSL認證,客戶(hù)端也要驗證服務(wù)器證書(shū),因此,必須把服務(wù)器證書(shū)添加到瀏覽器的“受信任的根證書(shū)頒發(fā)機構”。由于不能直接將keystore格式的證書(shū)庫導入,必須先把服務(wù)器證書(shū)導出為一個(gè)單獨的CER文件,使用如下命令:

keytool -keystore /Users/用戶(hù)名/工作/CA/tomcat.keystore -export -alias tomcat -file /Users/用戶(hù)名/工作/CA/tomcat.cer

(tomcat為你設置服務(wù)器端的證書(shū)名)。
通過(guò)以上命令,服務(wù)器證書(shū)就被我們導出到“/Users/用戶(hù)名/工作/CA/tomcat.cer”文件了。雙擊tomcat.cer文件,按照提示安裝證書(shū),將證書(shū)填入到“受信任的根證書(shū)頒發(fā)機構”。

六、配置Tomcat服務(wù)器使其支持HTTPS:

1、打開(kāi)Tomcat根目錄下的/conf/server.xml,找到Connector port=”8443”配置段,去掉注釋并修改如下:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"               clientAuth="true" sslProtocol="TLS"                keystoreFile="/Users/用戶(hù)名/工作/CA/tomcat.keystore" keystorePass="password"                truststoreFile="/Users/用戶(hù)名/工作/CA/tomcat.keystore" truststorePass="password"/>

2、打開(kāi)/conf/web.xml,在最后添加如下內容進(jìn)行HTTPS強制訪(fǎng)問(wèn):

    <login-config>        <auth-method>CLIENT-CERT</auth-method>        <realm-name>Client Cert Users-only Area</realm-name>    </login-config>    <security-constraint>        <web-resource-collection >            <web-resource-name >SSL</web-resource-name>            <url-pattern>/*</url-pattern>        </web-resource-collection>        <user-data-constraint>            <transport-guarantee>CONFIDENTIAL</transport-guarantee>        </user-data-constraint>    </security-constraint>

這樣tomcat就能支持SSL雙向認證了。

在這里要注意:
1、tomcat6中protocol=”HTTP/1.1”,
tomcat7中protocol=”org.apache.coyote.http11.Http11Protocol”;
2、如果要用Eclipse進(jìn)行測試,必須修改Eclipse工作目錄(workspace)下Servers文件夾下的tomcat配置文件才能生效,修改tomcat實(shí)際目錄下的配置文件是無(wú)效的,切記!
3、server.xml文件中非SSL的Connector不能刪除,刪除后tomcat啟動(dòng)不了,會(huì )報超時(shí)錯誤,切記!
4、如果只是支持客戶(hù)端認證服務(wù)端把clientAuth改為false就可以了。



本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
CA認證過(guò)程
java使用https配置以及瀏覽器導入自己生成的證書(shū)
vs自帶工具進(jìn)行代碼數字簽名方法
配置Tomcat使用https協(xié)議
keytool+tomcat配置HTTPS雙向證書(shū)認證(無(wú)openssl)
服務(wù)器證書(shū)安裝配置指南(Tomcat 6)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久