證書庫中證書與金鑰容器的關聯

2021-05-23 17:49:50 字數 620 閱讀 7857

證書的兩種形式:

1、帶私鑰的證書,即p12格式證書(字尾為.pfx)

2、不帶私鑰的證書,有多種格式,通常我們使用的是cer格式證書(字尾為.cer)

當我們安裝.pfx格式證書時,windows的安裝程式會為我們生成乙個唯一的金鑰容器(金鑰容器名為guid格式),並把證書中的私鑰儲存在金鑰容器中,然後把脫除私鑰的證書(為.cer格式證書)存放在證書庫中(如果是個人證書,會預設存放在個人證書庫,也就是my系統證書庫中),證書庫並為證書維護乙個cert_key_prov_info_prop_id屬性,通過此屬性可以獲取儲存私鑰的csp和金鑰容器,所以當我們使用證書進行數字簽名時,可以找到對應的csp和金鑰容器從而找到私鑰進行簽名。

當我們安裝.cer格式證書時,一般這樣的證書是別人的公鑰證書(如果在安全電子郵件中,用來對郵件進行加密,其實是對對稱金鑰進行加密),windows安裝程式會預設把證書安裝在其他人證書庫(也就是addressbook系統證書庫)中,證書庫不為證書維護

cert_key_prov_info_prop_id屬性,所以使用此證書進行加密時,會尋找預設的csp(csp型別是確定的,安全電子郵件中使用

prov_rsa_full型別),產生臨時金鑰容器匯出公鑰對對稱金鑰進行加密,加密完成後會刪除臨時金鑰容器。

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

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

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

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

驗證金鑰與證書是否匹配

譯 certificate key matcher 你可以使用certificate key matcher來檢驗乙個金鑰是否與證書匹配或證書是否與證書簽名請求 csr 匹配。當你處理很多不同的證書時,很容易忘記哪個證書與哪個金鑰匹配或哪個csr被用來生成哪個證書。certificate key m...