欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:ssl https雙向認(rèn)證

柚子快報激活碼778899分享:ssl https雙向認(rèn)證

http://yzkb.51969.com/

目錄

前言

一、認(rèn)證原理

1、單向認(rèn)證流程

2、 雙向認(rèn)證流程

二、證書準(zhǔn)備

1、生成自簽名根證書

2、生成自簽名客戶端證書

3、生成自簽名服務(wù)器端證書

三、配置修改

?1、nginx配置,完成單向認(rèn)證

2、nginx配置,完成雙向認(rèn)證

四、測試驗證

1、curl測試?

2、瀏覽器測試

總結(jié)

前言

雙向認(rèn)證,顧名思義,客戶端和服務(wù)器端都需要驗證對方的身份,在建立HTTPS連接的過程中,握手的流程比單向認(rèn)證多了幾步。單向認(rèn)證的過程,客戶端從服務(wù)器端下載服務(wù)器端公鑰證書進行驗證,然后建立安全通信通道。雙向通信流程,客戶端除了需要從服務(wù)器端下載服務(wù)器的公鑰證書進行驗證外,還需要把客戶端的公鑰證書上傳到服務(wù)器端給服務(wù)器端進行驗證,等雙方都認(rèn)證通過了,才開始建立安全通信通道進行數(shù)據(jù)傳輸。

一、認(rèn)證原理

1、單向認(rèn)證流程

單向認(rèn)證流程中,服務(wù)器端保存著公鑰證書和私鑰兩個文件,整個握手過程如下:

客戶端發(fā)起建立HTTPS連接請求,將SSL協(xié)議版本的信息發(fā)送給服務(wù)器端; 服務(wù)器端將本機的公鑰證書(server.crt)發(fā)送給客戶端; 客戶端讀取公鑰證書(server.crt),取出了服務(wù)端公鑰; 客戶端生成一個隨機數(shù)(密鑰R),用剛才得到的服務(wù)器公鑰去加密這個隨機數(shù)形成密文,發(fā)送給服務(wù)端; 服務(wù)端用自己的私鑰(server.key)去解密這個密文,得到了密鑰R 服務(wù)端和客戶端在后續(xù)通訊過程中就使用這個密鑰R進行通信了。

2、 雙向認(rèn)證流程

?

客戶端發(fā)起建立HTTPS連接請求,將SSL協(xié)議版本的信息發(fā)送給服務(wù)端; 服務(wù)器端將本機的公鑰證書(server.crt)發(fā)送給客戶端; 客戶端讀取公鑰證書(server.crt),取出了服務(wù)端公鑰; 客戶端將客戶端公鑰證書(client.crt)發(fā)送給服務(wù)器端; 服務(wù)器端使用根證書(root.crt)解密客戶端公鑰證書,拿到客戶端公鑰; 客戶端發(fā)送自己支持的加密方案給服務(wù)器端; 服務(wù)器端根據(jù)自己和客戶端的能力,選擇一個雙方都能接受的加密方案,使用客戶端的公鑰加密后發(fā)送給客戶端; 客戶端使用自己的私鑰解密加密方案,生成一個隨機數(shù)R,使用服務(wù)器公鑰加密后傳給服務(wù)器端; 服務(wù)端用自己的私鑰去解密這個密文,得到了密鑰R 服務(wù)端和客戶端在后續(xù)通訊過程中就使用這個密鑰R進行通信了。

二、證書準(zhǔn)備

從上一章內(nèi)容中,可以總結(jié)出來,整個雙向認(rèn)證的流程需要六個證書文件:

服務(wù)器端公鑰證書:server.crt 服務(wù)器端私鑰文件:server.key 根證書:root.crt 客戶端公鑰證書:client.crt 客戶端私鑰文件:client.key 客戶端集成證書(包括公鑰和私鑰,用于瀏覽器訪問場景):client.p12

所有的這些證書,我們都可以向證書機構(gòu)去申請簽發(fā),一般需要收取一定的證書簽發(fā)費用,此時我們需要選擇大型的證書機構(gòu)去購買。如果只是企業(yè)內(nèi)部使用,不是給公眾使用,也可以自行頒發(fā)自簽名證書。

1、生成自簽名根證書

(1)創(chuàng)建根證書私鑰:

openssl genrsa -out root.key 1024

(2)創(chuàng)建根證書請求文件:

openssl req -new -out root.csr -key root.key

?

后續(xù)參數(shù)需要自行填寫,以下為參考示例:

Country Name (2 letter code) [XX]:cn State or Province Name (full name) []:fj Locality Name (eg, city) [Default City]:fj Organization Name (eg, company) [Default Company Ltd]:xxx Organizational Unit Name (eg, section) []:test Common Name (eg, your name or your servers hostname) []:root Email Address []:123456@qq.com A challenge password []:123456 An optional company name []:

(3)創(chuàng)建根證書:

openssl x509 -req -in root.csr -out root.crt -signkey root.key -CAcreateserial -days 3650

在創(chuàng)建證書請求文件的時候需要注意三點,下面生成服務(wù)器請求文件和客戶端請求文件均要注意這三點: 根證書的Common Name填寫root就可以,所有客戶端和服務(wù)器端的證書這個字段需要填寫域名,一定要注意的是,根證書的這個字段和客戶端證書、服務(wù)器端證書不能一樣; 其他所有字段的填寫,根證書、服務(wù)器端證書、客戶端證書需保持一致最后的密碼可以直接回車跳過或者也可以設(shè)置自己想要設(shè)置密碼,如果有設(shè)置密碼需要記住這個密碼,后續(xù)測試會用到。

經(jīng)過上面三個命令行,最終可以得到一個簽名有效期為10年的根證書root.crt,后面我們可以用這個根證書去頒發(fā)服務(wù)器證書和客戶端證書。

2、生成自簽名客戶端證書

(1)生成客戶端證書密鑰:

openssl genrsa -out client.key 1024

(2) 生成客戶端證書請求文件,過程和注意事項參考根證書:

openssl req -new -out client.csr -key client.key

(3) 生客戶端證書

openssl x509 -req -in client.csr -out client.crt -signkey client.key -CA root.crt -CAkey root.key -CAcreateserial -days 3650

(4) 生客戶端pfx格式證書,需要輸入一個密碼,選一個好記的,比如123456

openssl pkcs12 -export -out client.pfx -inkey client.key -in ? client.crt -certfile root.crt

重復(fù)使用上面的命令,我們得到兩套客戶端證書:

client.key:客戶端的私鑰文件

client.crt :有效期十年的客戶端證書

使用根證書和客戶端私鑰一起生成 client.pfx,這個證書文件包含客戶端的公鑰和私鑰,主要用來給瀏覽器訪問使用

3、生成自簽名服務(wù)器端證書

步驟和生成自簽名客戶端證書一致,命名上注意修改一下即可,由于我這邊已經(jīng)有簽發(fā)好的服務(wù)端證書,本步驟不再詳細(xì)描述。

三、配置修改

?1、nginx配置,完成單向認(rèn)證

(1)導(dǎo)入配置所需的服務(wù)端pem和key文件

(2)修改nginx的ssl配置

(3)保存后,重啟nginx配置

(4) 測試驗證,可以正常完成單向認(rèn)證

2、nginx配置,完成雙向認(rèn)證

?(1)在單項認(rèn)證的基礎(chǔ)上,開啟客戶端認(rèn)證

ssl_client_certificate ?root.crt;? #此處需要填寫客戶端證書對應(yīng)的根證書,用于服務(wù)端驗證客戶端證書的有效性 ssl_verify_client on;

?(3)保存后,重啟nginx配置

四、測試驗證

1、curl測試?

(1)請求不攜帶客戶端證書,得到400錯誤狀態(tài)碼

?(2)請求攜帶客戶端證書(client.crt)和私鑰(client.key),響應(yīng)200

curl -v https://www.oufc.top --cert client.crt --key client.key

2、瀏覽器測試

(1)請求不攜帶客戶端證書,得到400錯誤狀態(tài)碼

(2)將客戶端證書(client.crt)和私鑰(client.key)轉(zhuǎn)換為pfx格式的證書

?openssl pkcs12 -export -out client.pfx -inkey client.key -in ? client.crt -certfile root.crt

(3)將轉(zhuǎn)換好的pfx格式證書下載到本地后,雙擊進行安裝

?

?此處的密碼填寫的就是之前設(shè)置的密碼,例如123456

?

?

(4)再次訪問,提示需要選擇證書

(5)點擊確定后,即可以正常訪問

?

總結(jié)

以上就是https雙向認(rèn)證的大致原理和測試過程,相比于單向認(rèn)證,雙向認(rèn)證可以進一步有效的保護網(wǎng)站信息安全,防止信息被不法分子盜用,但同時也會導(dǎo)致整個通信過程較長,客戶端驗證服務(wù)器端的證書,客戶端也將自己的證書上傳到服務(wù)器端進行驗證。

柚子快報激活碼778899分享:ssl https雙向認(rèn)證

http://yzkb.51969.com/

文章來源

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/19211004.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機訪問

文章目錄