pfx寫入USBkey的實現步驟

(1) 利用PFXImportCertStore函數將P12結構證書導入一個臨時的內存型證書庫,注意要用

CRYPT_EXPORTABLE 標誌,獲得該庫的句柄hImportStore。
(3) 利用CertFindCertificateInStore函數獲得hImportStore證書庫中的證書上下文pCertContext。
(4) 利用上面得到的證書上文pCertContext,通過CryptAcquireCertificatePrivateKey函數獲得臨時CSP句柄hCryptProv,證書對應私鑰的類型dwKeySpec。
(5) 利用臨時CSP句柄hCryptProv,私鑰的類型dwKeySpec,通過CryptGetUserKey獲得證書對應的私鑰句柄hUserKey。
(6) 利用私鑰句柄hUserKey,通過CryptExportKey將私鑰以PRIVATEKEYBLOB的形式導出來,獲得私鑰的blob和長度。
(7) 通過CryptAcquireContext函數,創建密鑰容器並獲得USBKey CSP的句柄hProv。
(8) 利用獲得hProv和上面獲得的私鑰blob和長度,通過CryptImportKey函數將私鑰導進USBKey CSP中,並返回私鑰句柄hKey。
(9) 利用私鑰句柄hKey,和前面獲得的證書上下文pCertContext的內容,通過CryptSetKeyParam函數,KP_CERTIFICATE標誌將證書寫進對應的密鑰容器。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章