CertCreateCTLEntryFromCertificateContextProperties 函式 (wincrypt.h)

CertCreateCTLEntryFromCertificateContextProperties 函式會建立憑證信任清單 (CTL) 專案,其屬性是憑證內容的屬性。 CTL 專案中的 SubjectIdentifier 是憑證的 SHA1 哈希。

憑證屬性會新增為屬性。 屬性 OID 是前面加上szOID_CERT_PROP_ID_PREFIX的小數PROP_ID。 每個屬性值都會複製為單一屬性值。

您可以使用 cOptAttrrgOptAttr 參數,將其他屬性包含在 CTL 專案中。

語法

BOOL CertCreateCTLEntryFromCertificateContextProperties(
  [in]      PCCERT_CONTEXT   pCertContext,
  [in]      DWORD            cOptAttr,
  [in]      PCRYPT_ATTRIBUTE rgOptAttr,
  [in]      DWORD            dwFlags,
  [in]      void             *pvReserved,
  [out]     PCTL_ENTRY       pCtlEntry,
  [in, out] DWORD            *pcbCtlEntry
);

參數

[in] pCertContext

用來建立 CTL 之CERT_CONTEXT 的指標。

[in] cOptAttr

DWORD,指定要加入的其他屬性數目。

[in] rgOptAttr

要新增至 CTL 之任何 CRYPT_ATTRIBUTE屬性陣列的指標。

[in] dwFlags

DWORD。 可以設定為 CTL_ENTRY_FROM_PROP_CHAIN_FLAG,以強制包含鏈結建置哈希屬性做為屬性。

[in] pvReserved

VOID 的指標。 保留供未來使用。

[out] pCtlEntry

CTL_ENTRY 結構的指標位址。 呼叫此函式兩次以擷取 CTL 專案。 在第一次呼叫時,將此參數設定為 NULL 。 當函式傳回時,請使用從 HTTPCtlEntry 參數擷取的位元組數目來配置記憶體。 再次呼叫 函式,將此參數設定為配置記憶體的位址。

[in, out] pcbCtlEntry

DWORD 的指標,其中包含必須配置給CTL_ENTRY結構的位元元組數目。 呼叫此函式兩次以擷取位元元組數目。 針對第一次呼叫,請將此參數設定為包含零的 DWORD 值位址,並將 pCtlEntry 參數設定為 NULL。 如果第一次呼叫成功, DWORD 值將包含您必須為 CTL_ENTRY 結構配置的位元元組數目。 配置必要的記憶體,並再次呼叫 函式,並在 pCtlEntry 參數中提供記憶體的位址。

傳回值

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

如果函式失敗,它會傳回零 (FALSE) 。 如需擴充錯誤資訊,請呼叫 GetLastError

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 wincrypt.h
程式庫 Crypt32.lib
Dll Crypt32.dll