CryptImportPublicKeyInfoEx2 函式 (wincrypt.h)

CryptImportPublicKeyInfoEx2函式會將公開金鑰匯入 CNG 非對稱提供者,該提供者對應至公開金鑰物件識別碼 (OID) ,並將 CNG 控制碼傳回給金鑰。

語法

BOOL CryptImportPublicKeyInfoEx2(
  [in]  DWORD                 dwCertEncodingType,
  [in]  PCERT_PUBLIC_KEY_INFO pInfo,
  [in]  DWORD                 dwFlags,
  [in]  void                  *pvAuxInfo,
  [out] BCRYPT_KEY_HANDLE     *phKey
);

參數

[in] dwCertEncodingType

用來加密主體的 憑證編碼類型 。 這個函式會忽略這個值之高WORD中包含的訊息編碼類型識別碼。

此參數可以是下列目前定義的憑證編碼類型。

意義
X509_ASN_ENCODING
1 (0x1)
指定 X.509 憑證編碼。

[in] pInfo

包含要匯入提供者之公開金鑰資訊的 CERT_PUBLIC_KEY_INFO 結構位址。

[in] dwFlags

一組旗標,可修改此函式的行為。 這可以是零或下列一或多個值的組合。

意義
CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG
略過CRYPT_PUBKEY_ALG_OID_GROUP_ID群組中明確標幟為 CRYPT_OID_PUBKEY_ENCRYPT_ONLY_FLAG 旗標的公開金鑰。
CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG
略過CRYPT_PUBKEY_ALG_OID_GROUP_ID群組中明確標幟為 CRYPT_OID_PUBKEY_SIGN_ONLY_FLAG 旗標的公開金鑰。
 

當將公開金鑰物件識別碼對應至對應的 CNG 公開金鑰演算法識別碼時,這些旗標會在CryptFindOIDInfo函式的dwKeyType參數中傳遞。

[in] pvAuxInfo

此參數保留供日後使用,且必須設定為 Null

[out] phKey

接收匯入金鑰控制碼 之BCRYPT_KEY_HANDLE 變數的位址。

不再需要此控制碼時,您必須呼叫 BCryptDestroyKey 函 式來釋放它。

傳回值

如果函式成功,函式會傳回非零 (TRUE) 。

如果函式失敗,它會傳回零 (FALSE) 。 如需擴充的錯誤資訊,請呼叫 GetLastError。 可能的錯誤碼包括但不限於下列各項。

傳回碼 描述
ERROR_FILE_NOT_FOUND
找不到可針對指定的 dwCertEncodingTypepInfo 參數安裝或註冊的匯入函式。
E_INVALIDARG
一或多個參數無效。

規格需求

   
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 wincrypt.h
程式庫 Crypt32.lib
Dll Crypt32.dll

另請參閱

CERT_PUBLIC_KEY_INFO