CryptImportPKCS8 函式 (wincrypt.h)
[ CryptImportPKCS8 函式已不再可供 Windows Server 2008 和 Windows Vista 使用。 請改用 PFXImportCertStore 函式。]
語法
BOOL CryptImportPKCS8(
[in] CRYPT_PKCS8_IMPORT_PARAMS sPrivateKeyAndParams,
[in] DWORD dwFlags,
[out, optional] HCRYPTPROV *phCryptProv,
[in, optional] void *pvAuxInfo
);
參數
[in] sPrivateKeyAndParams
包含私密金鑰 BLOB和對應參數的CRYPT_PKCS8_IMPORT_PARAMS結構。
[in] dwFlags
DWORD值。 此參數可以是下列其中一個值、其組合或 Null 值。
值 | 意義 |
---|---|
|
匯入的金鑰最終會重新匯出。 如果未使用此旗標,則呼叫具有金鑰控制碼的 CryptExportKey 會失敗。 |
|
如果已設定此旗標,CSP 會在嘗試使用此金鑰時,透過對話方塊或其他方法通知使用者。 精確行為是由 CSP 或使用的 CSP 類型所指定。 如果已使用設定CRYPT_SILENT取得提供者內容,則使用此旗標會導致失敗,而最後一個錯誤會設定為NTE_SILENT_CONTEXT。 |
[out, optional] phCryptProv
HCRYPTPROV的指標,可藉由呼叫CryptImportPKCS8函式來接收金鑰所匯入之提供者的控制碼。
當您完成使用控制碼時,請呼叫 CryptReleaseCoNtext以釋放控制碼。
此參數可以是 Null,在此情況下不會傳回提供者的控制碼。
[in, optional] pvAuxInfo
此參數必須是 Null。
傳回值
如果函式成功,函式會傳回非零 (TRUE) 。
如果函式失敗,它會傳回零 (FALSE) 。 如需擴充錯誤資訊,請呼叫 GetLastError。
下列錯誤碼專屬於此函式。
傳回碼 | 描述 |
---|---|
|
不支援 (OID) 私密金鑰的演算法 物件識別碼 。 |
如果函式失敗, GetLastError 可能會傳回 抽象語法標記法一 (ASN.1) 編碼/解碼錯誤。 如需這些錯誤的相關資訊,請參閱 ASN.1 編碼/解碼傳回值。
備註
CryptImportPKCS8會使用sPrivateKeyAndParams參數中包含的CRYPT_PKCS8_IMPORT_PARAMS結構來呼叫PCRYPT_RESOLVE_HCRYPTPROV_FUNC函式,以擷取要匯入金鑰之提供者的控制碼。 如果 PCRYPT_RESOLVE_HCRYPTPROV_FUNC 為 Null,則會使用預設提供者。
只有非對稱金鑰才支援此函式。
規格需求
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | wincrypt.h |
程式庫 | Crypt32.lib |
Dll | Crypt32.dll |