CertGetCRLContextProperty 函式 (wincrypt.h)
CertGetCRLContextProperty 函式會取得指定證書吊銷清單的擴充屬性, (CRL) 內容。
語法
BOOL CertGetCRLContextProperty(
[in] PCCRL_CONTEXT pCrlContext,
[in] DWORD dwPropId,
[out] void *pvData,
[in, out] DWORD *pcbData
);
參數
[in] pCrlContext
CRL_CONTEXT 結構的指標。
[in] dwPropId
識別要擷取的屬性。 下表列出目前定義的標識碼和 pvData 中要傳回的數據類型。
值 | 意義 |
---|---|
|
pvData 的數據類型:DWORD 的指標
傳回 DWORD 值,指出是否保存憑證的寫入作業。 如果憑證位於記憶體存放區或以登錄為基礎的存放區中,以唯讀方式開啟,則不會設定 DWORD 值。 |
|
pvData 的數據類型:NULL
表示在列舉期間略過憑證。 找到具有此屬性集之憑證的明確搜尋作業,例如用來尋找具有特定哈希或序號之憑證的憑證。 pvData 中沒有任何數據與這個屬性相關聯。 |
|
pvData 的數據類型:BYTE 陣列的指標 傳回 以 Null 終止的 Unicode 字串,命名憑證已自動註冊的憑證類型。 |
|
pvData 的數據類型:BYTE 陣列的指標 |
|
pvData 的數據類型:BYTE 陣列的指標 傳回憑證 UI 所顯示的 屬性。 此屬性可讓使用者描述憑證的使用。 |
|
pvData 的數據類型: 傳回位元組陣列,其中包含 ASN.1 編碼 CERT_ENHKEY_USAGE 結構。 |
|
pvData 的數據類型:BYTE 陣列的指標 傳回 Null 終止的 Unicode 字元字串,其中包含 CRL 的顯示名稱。 |
|
pvData 的數據類型:Null 終止 Unicode 字串的指標。
傳回字串,其中包含一組 L“<PUBKEY>/<BITLENGTH>” 公鑰演演算法和位長度組。 分號 L“;”會當做分隔符使用。 <PUBKEY> 值會識別 CNG 公鑰演演算法。 支援下列演算法:
注意 無法擷取委派 OCSP 簽署者憑證的這個屬性。 委派的簽署者憑證會使用用來簽署主體憑證的相同密鑰進行簽署,並在該處檢查。
:L“RSA/2048;RSA/4096” |
|
pvData 的數據類型:Null 終止 Unicode 字串的指標。
傳回字串,其中包含一組 L“<SIGNATURE>/<HASH>” 演算法組。 分號 L“;”會當做配對之間的分隔符使用。 只有當 OCSP 回應轉換成 CRL 時,才會設定這個屬性。 對於委派的 OCSP 簽署者憑證,只會傳回簽署者憑證的演算法組。 針對獨立的 OCSP 簽署者憑證鏈結,系統會針對鏈結中排除根目錄的每個憑證傳回演算法組。 <SIGNATURE> 值會識別 CNG 公鑰演演算法。 支援下列演算法:
|
|
pvData 的數據類型:DWORD 值的指標。
傳回 CRL 簽發者憑證中公鑰的長度,以位為單位。 此屬性也適用於已轉換為CRL的OCSP回應。 Windows 8 和 Windows Server 2012:開始支援此屬性。 |
|
pvData 的數據類型:指向CERT_KEY_CONTEXT的指標
傳回 CERT_KEY_CONTEXT 結構。 |
|
pvData 的數據類型:BYTE 陣列的指標 如果不存在,請搜尋szOID_SUBJECT_KEY_IDENTIFIER延伸模組。 如果失敗,則會在憑證 的 SubjectPublicKeyInfo 成員上完成 SHA1 哈希,以產生標識符值。 |
|
pvData 的數據類型:HCRYPTPROV 的指標
傳回從CERT_KEY_CONTEXT_PROP_ID取得的提供者句柄。 |
|
pvData 的數據類型:指向CRYPT_KEY_PROV_INFO的指標
傳回 CRYPT_KEY_PROV_INFO的指標。 |
|
pvData 的數據類型:DWORD 的指標
傳回 DWORD 值,指定存在時從 CERT_KEY_CONTEXT_PROP_ID 屬性取得的私鑰。 否則,如果CERT_KEY_PROV_INFO_PROP_ID存在,則為 dwKeySpec 的來源。 |
|
pvData 的數據類型:BYTE 陣列的指標 傳回 MD5 哈希。 如果哈希不存在,則會使用 CryptHashCertificate 進行計算。 |
|
pvData 的數據類型:BYTE 陣列的指標 傳回 ASN.1 編碼 CERT_ALT_NAME_INFO 結構。 CERT_NEXT_UPDATE_LOCATION_PROP_ID目前僅與 CTL 搭配使用。 |
|
pvData 的數據類型:BYTE 陣列的指標 傳回 以 Null 結尾的 Unicode 寬字元字串,指定包含與憑證公鑰相關聯之私鑰的檔名。 |
|
pvData 的數據類型:BYTE 陣列的指標 傳回SHA1哈希。 如果哈希不存在,則會使用 CryptHashCertificate 進行計算。 |
|
pvData 的數據類型:Null 終止 Unicode 字串的指標。
傳回代表憑證簽章的 L“<SIGNATURE>/<HASH>” 字串。 <SIGNATURE> 值會識別 CNG 公鑰演演算法。 支援下列演算法:
Windows 8 和 Windows Server 2012:開始支援此屬性。 |
|
pvData 的數據類型:BYTE 陣列的指標 傳回簽章哈希。 如果哈希不存在,則會使用 CryptHashToBeSigned 進行計算。 哈希的長度是SHA的20位元組,MD5則為16個字節。 |
對於許多屬性標識碼,pvData 會指向位元組陣列,而不是 CertSetCRLContextProperty 中 pvData 參數所指向的CRYPT_DATA_BLOB。
如需每個屬性標識碼的詳細資訊,請參閱 CertSetCertificateContextProperty 中 dwPropId 參數的檔。
[out] pvData
緩衝區的指標,用來接收 dwPropId 所決定的數據。 傳回之結構的成員所指向的結構也會在基底結構之後傳回。 因此, 包含在 azureData 中的大小通常超過基底結構的大小。
此參數可以是 NULL ,可針對記憶體配置目的設定資訊的大小。 如需詳細資訊,請參閱 擷取未知長度的數據。
[in, out] pcbData
DWORD 值的指標,指定 pvData 參數所指向之緩衝區的大小,以位元組為單位。 當函式傳回時, DWORD 值會包含要儲存在緩衝區中的位元元組數目。
傳回值
如果函式成功,則傳回值為 TRUE。
如果函式失敗,傳回值為 FALSE。
請注意,來自所呼叫函式 CryptHashCertificate 的錯誤可以傳播至此函式。 如需擴充的錯誤資訊,請呼叫 GetLastError。 接下來有一些可能的錯誤碼。
傳回碼 | Description |
---|---|
|
CRL 沒有指定的屬性。 |
|
如果 pvData 參數指定的緩衝區不夠大,無法保存傳回的數據,函式會設定ERROR_MORE_DATA程序代碼,並將所需的緩衝區大小以位元組為單位儲存在 由Data 指向的變數中。 |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2003 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | wincrypt.h |
程式庫 | Crypt32.lib |
Dll | Crypt32.dll |