https資料

角色:

server 服務(wù)器就是網(wǎng)站所有者 夺荒、client 就是訪問網(wǎng)站的用戶 没宾、CA 證書頒發(fā)機(jī)構(gòu)。

客戶端與服務(wù)器https通訊步驟

1、客戶端發(fā)起請求摆霉,生成一個(gè)client_random發(fā)給服務(wù)器
2、服務(wù)器收到請求菠隆,返回證書譬重、sessionID、加密方式簿训、server_random
3血筑、客戶端收到證書,使用證書公鑰加密PreMaster密鑰煎楣。
4豺总、服務(wù)器使用私鑰節(jié)目取得PreMaster密鑰.
5、兩邊用PreMaster+client_random+server_random制作一個(gè)Master密鑰择懂。
6喻喳、使用Master密鑰完成數(shù)據(jù)傳輸。

證書基礎(chǔ)知識:

什么是公鑰和私鑰困曙?

公鑰和私鑰就是俗稱的不對稱加密方式表伦。公鑰(Public Key)與私鑰(Private Key)是通過一種算法得到的一個(gè)密鑰對(即一個(gè)公鑰和一個(gè)私鑰),公鑰是密鑰對中公開的部分慷丽,私鑰則是非公開的部分蹦哼。公鑰通常用于加密會(huì)話密鑰、驗(yàn)證數(shù)字簽名要糊,或加密可以用相應(yīng)的私鑰解密的數(shù)據(jù)纲熏。
通過這種算法得到的密鑰對能保證在世界范圍內(nèi)是唯一的。使用這個(gè)密鑰對的時(shí)候锄俄,如果用其中一個(gè)密鑰加密一段數(shù)據(jù)局劲,則必須用另一個(gè)密鑰才能解密。比如用公鑰加密的數(shù)據(jù)就必須用私鑰才能解密奶赠,如果用私鑰進(jìn)行加密也必須用公鑰才能解密鱼填,否則將無法成功解密。

數(shù)字證書

數(shù)字證書是一個(gè)經(jīng)證書授權(quán)中心(CA)數(shù)字簽名的包含公開密鑰擁有者信息以及公開密鑰的文件毅戈。
最簡單的證書包含一個(gè)公開密鑰苹丸、名稱以及證書授權(quán)中心的數(shù)字簽名。數(shù)字證書還有一個(gè)重要的特征就是只在特定的時(shí)間段內(nèi)有效苇经。

數(shù)字證書的作用

1赘理、https網(wǎng)站身份證明。通過證書能夠了解證書持有人(網(wǎng)站)的身份信息塑陵、域名信息感憾。
2、證書發(fā)行機(jī)構(gòu)信息,可以是樹狀阻桅。如果證書的根發(fā)行機(jī)構(gòu)是權(quán)威機(jī)構(gòu)凉倚,瀏覽器信賴權(quán)威機(jī)構(gòu),權(quán)威機(jī)構(gòu)對證書機(jī)構(gòu)樹信任鏈負(fù)責(zé)嫂沉,從而瀏覽器可以信任證書的持有人稽寒。如果證書的根發(fā)行機(jī)構(gòu)不是權(quán)威機(jī)構(gòu)(比如當(dāng)初的12306),需要用戶手動(dòng)信賴證書趟章,吐糟12306這個(gè)風(fēng)騷滴操作,完美支持釣魚網(wǎng)站杏糙、中間人偽造證書竊取信息。

image.png

3蚓土、加密傳輸數(shù)據(jù)宏侍。客戶端和服務(wù)端利用證書里面的公鑰協(xié)商一個(gè)對稱加密協(xié)議所需的密鑰蜀漆。然后加密傳遞數(shù)據(jù)谅河。

數(shù)字證書的制作

1、整理域名确丢、網(wǎng)站所有者信息绷耍。CA要對你提供的信息進(jìn)行驗(yàn)證。
2鲜侥、制作私鑰xxx.key和證書請求文件xxx.csr褂始。可以keytool制作也可以openSSL制作描函。
3崎苗、提交CSR和你的信息,申請證書赘阀。

數(shù)字證書格式介紹:

*.DER 或 *.CER 文件: 這樣的證書文件是二進(jìn)制格式益缠,只含有證書信息,不包含私鑰基公。
*.CRT 文件: 這樣的證書文件可以是二進(jìn)制格式,也可以是文本格式宋欺,一般均為文本格式轰豆,功能與 *.DER 及 *.CER 證書文件相同。
*.PEM 文件: 這樣的證書文件一般是文本格式齿诞,可以存放證書或私鑰酸休,或者兩者都包含。 *.PEM 文件如果只包含私鑰祷杈,一般用 *.KEY 文件代替斑司。
*.PFX 或 *.P12 文件: 這樣的證書文件是二進(jìn)制格式,同時(shí)包含證書和私鑰但汞,且一般有密碼保護(hù)宿刮。
ps.
.JKS文件不是證書文件互站,是使用keytool生成的keystore文件,存放私鑰和證書僵缺『遥可以導(dǎo)出私鑰和證書。

數(shù)字證書格式轉(zhuǎn)換:

將 JKS 格式證書轉(zhuǎn)換成 PFX 格式

可以使用 JDK 中自帶的 Keytool 工具磕潮,將 JKS 格式證書文件轉(zhuǎn)換成 PFX 格式翠胰。
執(zhí)行以下命令將 server.jks 證書文件轉(zhuǎn)換成 server.pfx 證書文件:

 keytool -importkeystore -srckeystore D:\server.jks -destkeystore D:\server.pfx -srcstoretype JKS -deststoretype PKCS12 
將 PFX 格式證書轉(zhuǎn)換為 JKS 格式

使用 JDK 中自帶的 Keytool 工具,執(zhí)行以下命令將 server.pfx 證書文件轉(zhuǎn)換成 server.jks 證書文件:

 keytool -importkeystore -srckeystore D:\server.pfx -destkeystore D:\server.jks -srcstoretype PKCS12 -deststoretype JKS 
將 PEM/KEY/CRT 格式證書轉(zhuǎn)換為 PFX 格式

將 KEY 格式密鑰文件(server.key)和 CRT 格式公鑰文件(server.crt)拷貝至 OpenSSL 工具安裝目錄自脯,使用 OpenSSL 工具執(zhí)行以下命令將證書轉(zhuǎn)換成 server.pfx證書文件:

 openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt 
將PFX轉(zhuǎn)換為PEM/KEY/CRT

將 PFX 格式證書文件拷貝至 OpenSSL 安裝目錄之景,使用 OpenSSL 工具執(zhí)行以下命令將證書轉(zhuǎn)換成 server.pem 證書文件、KEY 格式密鑰文件(server.key)和 CRT 格式公鑰文件(server.crt):

? openssl pkcs12 -in server.pfx -nodes -out server.pem 
? openssl rsa -in server.pem -out server.key 
? openssl x509 -in server.pem -out server.crt 

使用 Keytool 工具生成 CSR 文件

CSR 文件證書請求文件膏潮,利用該文件申請證書锻狗。
使用 Keytool 工具生成 CSR 文件

服務(wù)器開通https

1、server 申請證書戏罢。向CA申請證書屋谭。,
2龟糕、CA頒發(fā)證書桐磁、私鑰。
3讲岁、tomcat里面設(shè)置證書和私鑰位置我擂。
http://tomcat.apache.org/tomcat-8.0-doc/ssl-howto.html

Diffie–Hellman算法。

除了用RSA算法交換PreMaster缓艳,還有一種方法Diffie–Hellman算法校摩。

client 和server協(xié)商一個(gè)明文。
client 使用私鑰C對明文加密得到密文C阶淘,server使用私鑰S對明文加密得到密文S衙吩。
交換密文C和密文S
client 使用私鑰C對密文S加密,server使用私鑰對密文C進(jìn)行加密溪窒。加密后的結(jié)果是一樣的坤塞。

client端結(jié)果:明文 --S加密-->密文S--C加密-->密文CS
server端結(jié)果:明文 --C加密-->密文C--S加密-->密文CS
需要注意的是加密算法要滿足一個(gè)條件,即更換密鑰加密順序不影響加密結(jié)果澈蚌。

refenrence:
http://www.codeceo.com/article/https-worker.html
https://help.aliyun.com/knowledge_list/42212.html?spm=5176.doc28548.6.557.xIxBud

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末摹芙,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子宛瞄,更是在濱河造成了極大的恐慌浮禾,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異盈电,居然都是意外死亡蝴簇,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進(jìn)店門挣轨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來军熏,“玉大人,你說我怎么就攤上這事卷扮〉磁欤” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵晤锹,是天一觀的道長摩幔。 經(jīng)常有香客問我,道長鞭铆,這世上最難降的妖魔是什么或衡? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮车遂,結(jié)果婚禮上封断,老公的妹妹穿的比我還像新娘。我一直安慰自己舶担,他們只是感情好坡疼,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著衣陶,像睡著了一般柄瑰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上剪况,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天教沾,我揣著相機(jī)與錄音,去河邊找鬼译断。 笑死授翻,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的孙咪。 我是一名探鬼主播藏姐,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼该贾!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起捌臊,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤杨蛋,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體逞力,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡曙寡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了寇荧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片举庶。...
    茶點(diǎn)故事閱讀 38,094評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖揩抡,靈堂內(nèi)的尸體忽然破棺而出户侥,到底是詐尸還是另有隱情,我是刑警寧澤峦嗤,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布蕊唐,位于F島的核電站,受9級特大地震影響烁设,放射性物質(zhì)發(fā)生泄漏替梨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一装黑、第九天 我趴在偏房一處隱蔽的房頂上張望副瀑。 院中可真熱鬧,春花似錦恋谭、人聲如沸糠睡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽铜幽。三九已至,卻和暖如春串稀,著一層夾襖步出監(jiān)牢的瞬間除抛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工母截, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留到忽,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓清寇,卻偏偏與公主長得像喘漏,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子华烟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容