亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

https原理及tomcat配置https方法

系統(tǒng) 2742 0

一、 什么是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ù)進(jìn)行加密,從而就誕生了HTTPS。SSL目前的版本是3.0,被IETF(Internet Engineering Task Force)定義在RFC 6101中,之后IETF對SSL 3.0進(jìn)行了升級,于是出現(xiàn)了TLS(Transport Layer Security) 1.0,定義在RFC 2246。實(shí)際上我們現(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ù)為我們進(jìn)行加密服務(wù)。目前TLS的版本是1.2,定義在RFC 5246中,暫時還沒有被廣泛的使用。

?

二、 Https的工作原理

? ? HTTPS在傳輸數(shù)據(jù)之前需要客戶端(瀏覽器)與服務(wù)端(網(wǎng)站)之間進(jìn)行一次握手,在握手過程中將確立雙方加密傳輸數(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ā)機(jī)構(gòu)等信息。

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

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

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

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

?

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

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

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

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

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

非對稱加密算法:RSA,DSA/DSS

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

HASH算法:MD5,SHA1,SHA256

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

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

工具/原料

  • 利用tomcat服務(wù)器配置https雙向認(rèn)證

方法/步驟

  1. ?

    為服務(wù)器生成證書

    “運(yùn)行”控制臺,進(jìn)入%JAVA_HOME%/bin目錄,使用如下命令進(jìn)入目錄:

    cd “c:\Program Files\Java\jdk1.6.0_11\bin”?

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

    keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\home\tomcat.keystore -validity 36500 (參數(shù)簡要說明:“D:\home\tomcat.keystore”含義是將證書文件的保存路徑,證書文件名稱是tomcat.keystore ;“-validity 36500”含義是證書有效期,36500表示100年,默認(rèn)值是90天 “tomcat”為自定義證書名稱)。

    ?

    在命令行填寫必要參數(shù):

    A、 輸入keystore密碼:此處需要輸入大于6個字符的字符串。

    B、 “您的名字與姓氏是什么?”這是必填項,并且必須是TOMCAT部署主機(jī)的域名或者IP[如:gbcom.com 或者 10.1.25.251](就是你將來要在瀏覽器中輸入的訪問地址),否則瀏覽器會彈出警告窗口,提示用戶證書與所在域不匹配。在本地做開發(fā)測試時,應(yīng)填入“l(fā)ocalhost”。

    C、 你的組織單位名稱是什么?”、“您的組織名稱是什么?”、“您所在城市或區(qū)域名稱是什么?”、“您所在的州或者省份名稱是什么?”、“該單位的兩字母國家代碼是什么?”可以按照需要填寫也可以不填寫直接回車,在系統(tǒng)詢問“正確嗎?”時,對照輸入信息,如果符合要求則使用鍵盤輸入字母“y”,否則輸入“n”重新填寫上面的信息。

    D、 輸入<tomcat>的主密碼,這項較為重要,會在tomcat配置文件中使用,建議輸入與keystore的密碼一致,設(shè)置其它密碼也可以,完成上述輸入后,直接回車則在你在第二步中定義的位置找到生成的文件。

  2. ?

    為客戶端生成證書

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

    keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore D:\home\mykey.p12 (mykey為自定義)。

    對應(yīng)的證書庫存放在“D:\home\mykey.p12”,客戶端的CN可以是任意值。雙擊mykey.p12文件,即可將證書導(dǎo)入至瀏覽器(客戶端)。

  3. ?

    讓服務(wù)器信任客戶端證書

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

    keytool -export -alias mykey -keystore D:\home\mykey.p12 -storetype PKCS12 -storepass password -rfc -file D:\home\mykey.cer?

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

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

    ? ? ?keytool -import -v -file D:\home\mykey.cer -keystore D:\home\tomcat.keystore

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

    keytool -list -keystore D:\home\tomcat.keystore (tomcat為你設(shè)置服務(wù)器端的證書名)。

  4. ?

    讓客戶端信任服務(wù)器證書

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

    keytool -keystore D:\home\tomcat.keystore -export -alias tomcat -file D:\home\tomcat.cer (tomcat為你設(shè)置服務(wù)器端的證書名)。

    通過以上命令,服務(wù)器證書就被我們導(dǎo)出到“D:\home\tomcat.cer”文件了。雙擊tomcat.cer文件,按照提示安裝證書,將證書填入到“受信任的根證書頒發(fā)機(jī)構(gòu)”。

  5. ?

    配置Tomcat服務(wù)器

    打開Tomcat根目錄下的/conf/server.xml,找到Connector port="8443"配置段,修改為如下:

    ?

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"

    SSLEnabled="true" maxThreads="150" scheme="https"

    secure="true" clientAuth="true" sslProtocol="TLS"

    keystoreFile="D:\\home\\tomcat.keystore" keystorePass="123456"

    truststoreFile="D:\\home\\tomcat.keystore" truststorePass="123456" />

    (tomcat要與生成的服務(wù)端證書名一致)

    屬性說明:

    ?

    clientAuth:設(shè)置是否雙向驗證,默認(rèn)為false,設(shè)置為true代表雙向驗證

    keystoreFile:服務(wù)器證書文件路徑

    keystorePass:服務(wù)器證書密碼

    truststoreFile:用來驗證客戶端證書的根證書,此例中就是服務(wù)器證書

    truststorePass:根證書密碼

  6. 6

    測試

    在瀏覽器中輸入:https://localhost:8443/,會彈出選擇客戶端證書界面,點(diǎn)擊“確定”,會進(jìn)入tomcat主頁,地址欄后會有“鎖”圖標(biāo),表示本次會話已經(jīng)通過HTTPS雙向驗證,接下來的會話過程中所傳輸?shù)男畔⒍家呀?jīng)過SSL信息加密。

https原理及tomcat配置https方法


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成人影院vs一区二区 | 国产原创中文字幕 | 九九九热在线精品免费全部 | 香蕉观看在线视频成人 | 久久久久国产精品免费免费不卡 | 女性下面全部视频免费 | 久久麻豆视频 | 日日干日日插 | 波多野结衣一二三区 | 综合精品在线 | 免费在线观看黄色小视频 | 欧美麻豆久久久久久中文 | www.中文字幕 | 123日本不卡在线观看 | 一区国严二区亚洲三区 | 四虎免费影院在线播放 | 国产高清在线a视频大全凹凸 | 国产精品久热 | 四虎影院免费在线播放 | 国产在线观看美女福利精 | 日本中文字幕在线观看视频 | 成人精品福利 | 黄动漫在线无限看免费 | 欧美激情在线精品一区二区 | 久久久久久综合成人精品 | 久久久国产精品免费看 | 老司机午夜性大片 | 夜夜做夜夜爽 | 一区二区三区中文国产亚洲 | 亚洲伦理久久 | 久久黄色免费 | 免费看一毛一级毛片视频 | 狠狠色噜噜狠狠狠 | 精品的一区二区三区 | 国产欧美自拍 | 精品香蕉一区二区三区 | 美女羞羞网站 | 福利资源在线 | 国产91福利在线精品剧情尤物 | 99网站在线观看 | 国内精品久久久久久影院老狼 |