CryptExportPublicKeyInfoFromBCryptKeyHandle 函式 (wincrypt.h)
CryptExportPublicKeyInfoFromBCryptKeyHandle 函式會導出與提供者對應私鑰相關聯的公鑰資訊。
語法
BOOL CryptExportPublicKeyInfoFromBCryptKeyHandle(
[in] BCRYPT_KEY_HANDLE hBCryptKey,
[in] DWORD dwCertEncodingType,
[in, optional] LPSTR pszPublicKeyObjId,
[in] DWORD dwFlags,
[in, optional] void *pvAuxInfo,
[out, optional] PCERT_PUBLIC_KEY_INFO pInfo,
[in, out] DWORD *pcbInfo
);
參數
[in] hBCryptKey
要從中匯出公鑰資訊的金鑰句柄。
[in] dwCertEncodingType
指定要比對的編碼類型。
這個值可以是目前定義的編碼類型位元組合:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in, optional] pszPublicKeyObjId
物件標識碼的指標 (OID) ,可識別要用來匯出密鑰的可安裝函式。 如果 OID 的高序字不是零, pszPublicKeyObjId 是 OID 字串的指標,例如 “2.5.29.1 或 ASCII 字串串,例如 ”file“。如果 OID 的高序單字為零,則低序字會指定要當做物件識別碼使用的整數標識碼。
[in] dwFlags
指出如何匯出公鑰資訊的 DWORD 值。
[in, optional] pvAuxInfo
此參數保留供日後使用,且必須設定為 NULL。
[out, optional] pInfo
要匯出之公鑰資訊的 CERT_PUBLIC_KEY_INFO 結構的指標。
此參數可以是 NULL ,可設定此資訊的大小以供記憶體配置之用。 如需詳細資訊,請參閱 擷取未知長度的數據。
[in, out] pcbInfo
DWORD 的指標,其中包含 pInfo 參數所指向之緩衝區的大小,以位元組為單位。 當函式傳回時, DWORD 會包含儲存在緩衝區中的位元元組數目。
傳回值
如果函式成功,函式會傳回 TRUE ;否則會傳回 FALSE。
備註
如果 CryptExportPublicKeyInfoFromBCryptKeyHandle 函式找不到 pszPublicKeyObjId 參數所指定 OID 的可安裝 OID 函式,它會嘗試將密鑰導出為 RSA 公鑰 (szOID_RSA_RSA) 。 如果密鑰導出為 RSA 公鑰,就不會使用 dwFlags 和 pvAuxInfo 參數的值。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | wincrypt.h |
程式庫 | Crypt32.lib |
Dll | Crypt32.dll |