如何使用X 509證書

2021-07-02 01:00:19 字數 1241 閱讀 8972

簡介

在怎樣把x.509證書部署到生產系統之前,你需要了解ssl/tsl協議中所支援的認證場景的區別。你部署證書的方式取決於

你選擇的是哪種認證場景。

單向認證

在單向認證場景中,伺服器在ssl握手期間會將自己的證書分發給客戶端,以便客戶端能據此驗證目標身份。所以在

此情景下,伺服器相對於客戶端是認證過的,但客戶端相對伺服器而言,則是非認證過的。

伺服器配置有自己的證書和私鑰,兩者都儲存在broker.ks檔案中。客戶端配置有乙個信任庫lient.ts,含有來自於

伺服器簽名過的證書。一般來講,信任證書是ca證書。

雙向認證

在雙向認證場景中,ssl握手過程中,伺服器要把自己的證書分發給客戶端,同時客戶端也要把自己的證書分發給服務端,

這樣才能做到雙方都能相互驗證對方的身份。

因為認證是相互的,所以無論客戶端還是服務端,都需要配置一整套證書。

客戶端要配置自己的證書和私鑰庫client.ks,還有信任庫client.ts, 該信任庫中裝載的是已簽名的服務端證書。

服務端要配置自己的證書和私鑰庫broker.ks,還有信任庫broker.ts, 該信任庫中裝載的是已簽名的客戶端證書。

選擇認證場景

服務端和客戶端認證可以有各種不同的組合。ssl的認證場景的選擇是由密碼套件和協議層中的needclientauth標誌位

的設定共同決定的。

服務端單向認證 - 這是最為重要的認證場景。服務端身份確認,客戶端的身份確認是通過提供使用者名稱和密碼憑證,通過加密通道

傳送到伺服器而得到確認。

服務端認證加客戶端可選認證 - 如果你想要使用x509證書認證客戶身份,可以簡單配置客戶端也擁有自己的證書。這樣在預設

情況下,如果服務端接受到客戶端的證書,它也會對客戶端的身份進行驗證。

服務端認證加客戶端必選認證 - 如果你必須要客戶端使用x509認證,你可以設定needclientauth標誌,設定之後,如果在ssl

握手期間客戶端沒有傳送證書的話,服務端會丟擲錯誤。

無認證 - 有風險,不安全的場景,不推薦使用。

X 509證書校驗

x.509證書校驗 這裡討論openssl 中如何應用 crls 和來自證書體系的其他證書來進行證書校驗。為此需要使用 x.509 包的功能函式。ssl協議實現已經處理了很多這裡將要討論的東西,即使如此,一些工作還是需要我們親歷親為,特別是當我們希望在證書校驗過程中使用 crls 的校驗,大部分情況...

x509證書驗證

x509 verify cert函式負責用來驗證證書的有效性,函式原型如下 int x509 verify cert x509 store ctx ctx 驗證成功返回1,失敗返回其他值,失敗的原因可以通過 long ncode x509 store ctx get error ctx const ...

什麼是x 509證書?

在使用openssl命令的時候,會用到opessl x509,那麼這個其中的x509代表的是什麼意思呢 本文件就進行簡要的說明。openssl中的x509 x.509.x.509證書主要是基於itu x.509標準的一種數字證書,x.509標準 定義了pki public key infrastru...