SSL使用windows證書庫中證書實現雙向認證

2021-05-25 09:15:41 字數 550 閱讀 1950

在ssl兩端的伺服器證書和客戶端證書,都必須要使用證書對應的私鑰。如果我們是通過openssl生成的證書,我們肯定可以得到相應的金鑰檔案。我們要使用的是windows證書庫中的證書,如何獲得openssl可以使用的金鑰呢。在網上搜到乙個csp engine程式,裡面提供了從乙個windows證書上下文cert_context獲得openssl中對應的x509格式證書和evp_pkey格式金鑰的介面evp_pkey_new_cert_context,然後就可以使用ssl_ctx_use_privatekey函式傳入evp_pkey格式金鑰。

伺服器端基本上完成了。

客戶端需要對傳過來的伺服器證書鏈進行驗證,還需要設定乙個根證書,使用ssl_ctx_load_verify_locations可以設定根證書到ssl上下文。傳入的引數是根證書的檔名和路徑。這裡要強調一點,這裡的根證書必須是pem格式的,如果是從windows證書庫中匯出的,那是der格式,所以必須要進行轉化,可以使用x509命令。

客戶端基本上也完成了。

然後客戶端就可以對伺服器進行認證了。伺服器對客戶端的認證過程也是類似的,這裡就不重複講解了。

使用jdk自帶keytool生成證書庫

以支付寶 為例。瀏覽器 以chrome為例 訪問,點選網域名稱左側的小鎖,可以檢視支付寶的證書資訊。點選小鎖 點選證書 根據提示匯出,證書格式有很多中,der cer等。隨便選擇即可。1.以管理員身份開啟命令列視窗,進入keytool工具的路徑 jdk安裝目錄的 jre bin 2.執行命令 key...

從證書庫匯出CER格式的證書

直接上 證書提取.cpp 定義控制台應用程式的入口點。include stdafx.h include include include link with the crypt32.lib file.pragma comment lib,crypt32 pragma comment lib,comsu...

windows2012新增ssl證書

第一步 這個是2.0版本,千萬不要安裝2.1版本,否則導致 程序池全部關閉 第二步 安裝好後,的iis裡面會有url 重寫,點選進入,點選新增空白規則 名稱 隨意填寫,這邊寫https 模式 一 條件 點選新增條件 條件輸入 這個很重要,這個是用於匹配https開頭 模式 off 勾選忽略大小寫,然...