CertCreateCTLContext 函式 (wincrypt.h)

CertCreateCTLContext 函式會從編碼的 CTL 建立憑證信任清單 (CTL) 內容。 建立的內容不會保存到 證書存儲。 函式會在建立的內容中建立編碼 CTL 的複本。

語法

PCCTL_CONTEXT CertCreateCTLContext(
  [in] DWORD      dwMsgAndCertEncodingType,
  [in] const BYTE *pbCtlEncoded,
  [in] DWORD      cbCtlEncoded
);

參數

[in] dwMsgAndCertEncodingType

指定使用的編碼類型。 憑證和 訊息編碼類型 都必須藉由將它們與位 OR 作業結合來指定,如下列範例所示:

X509_ASN_ENCODING |PKCS_7_ASN_ENCODING目前定義的編碼類型如下:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] pbCtlEncoded

緩衝區的指標,其中包含要從中建立內容的編碼 CTL。

[in] cbCtlEncoded

pbCtlEncoded 緩衝區的大小,以位元組為單位。

傳回值

如果函式成功,則傳回值是只讀 CTL_CONTEXT的指標。

如果函式失敗且無法譯碼並建立 CTL_CONTEXT,則傳回值為 NULL。 如需擴充錯誤資訊,請呼叫 GetLastError。 下表顯示可能的錯誤碼。

傳回碼 Description
E_INVALIDARG
無效的憑證編碼類型。 僅支援PKCS_7_ASN_ENCODING和X509_ASN_ENCODING。
 

如果函式失敗, GetLastError 可能會傳回 抽象語法表示法一 (ASN.1) 編碼/譯碼錯誤。 如需這些錯誤的相關信息,請參閱 ASN.1 編碼/譯碼傳回值

備註

您必須呼叫 CertFreeCTLContext 來釋放CTL_CONTEXT您可以呼叫 CertDuplicateCTLContext 來建立重複專案。 您可以呼叫 CertSetCTLContextPropertyCertGetCTLContextProperty 來儲存和讀取 CTL 的屬性。

規格需求

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

另請參閱

CTL_CONTEXT

CertCreateCRLContext

CertCreateCertificateContext

CertDuplicateCTLContext

CertFreeCTLContext

CertGetCTLContextProperty

CertSetCTLContextProperty

憑證信任清單函式