今天介紹一下ssl雙向認證伺服器端認證模式的設定,很關鍵。
初始化ssl時,要使用ssl_ctx_set_verify函式設定驗證模式,下面介紹下集中模式:
openssl 驗證證書模式
openssl
有四種驗證證書的模式,這樣可以自己根據驗證結構來決定應用程式的行為。四種驗證模式分別是:
ssl_verify_none
:完全忽略驗證證書的結果。當握手必須完成的話,就選中這個選項。其實真正有證書的人很少,尤其是在中國,那麼如果ssl
運用於一些免費的服務,比如email
的時候,server
端最好採用這個模式。
ssl_verify_peer
:希望驗證對方的證書。這個是最一般的模式。對client
來說,如果設定了這樣的模式,驗證server
的證書出了任何錯誤,ssl
握手都告吹。對server
來說,如果設定了這樣的模式,client
倒不一定要把自己的證書交出去。如果client
沒有交出證書,server
自己決定下一步怎麼做。
ssl_verify_fail_if_no_peer_cert
:這是server
使用的一種模式,在這種模式下,server
會向client
要證書。如果client
不給,ssl
握手告吹。
ssl_verify_client_once
: 這是僅能使用在ssl session renegotiation
階段的一種方式。如果不是用這個模式的話,那麼在renegotiation
的時候,client
都要把自己的證書送給server
,然後做一番分析。這個過程很消耗cpu
時間的,而這個模式則不需要client
在renegotiation
的時候重複送自己的證書了。
ssl雙向認證
ssl雙向認證 ca.key 根證書的私鑰 ca.crt 根證書的簽名證書 server.key,server.crt client.key,client.crt 1 openssl ca.key,ca.crt 2 openssl server.key server.csrserver.crt 3 ...
SSL認證 單向認證與雙向認證
ssl協議即用到了對稱加密也用到了非對稱加密 公鑰加密 在建立傳輸鏈路時,ssl首先對對稱加密的金鑰使用非對稱加密,鏈路建立好之後,ssl對傳輸內容使用對稱加密。對稱加密 速度高,可加密內容較大,用來加密會話過程中的訊息 公鑰加密 加密速度較慢,但能提供更好的身份認證技術,用來加密對稱加密的金鑰 1...
SSL的單向認證和雙向認證
客戶端向伺服器傳送clienthello訊息,說明它支援的最高tls協議版本,隨機數 密碼演算法列表及壓縮方法。伺服器回覆serverhello訊息,包含基於客戶端clienthello訊息所選擇的tls協議版本,隨機數 密碼演算法列表及壓縮方法。伺服器選擇的協議版本為客戶端和伺服器都支援的最高版本...