次の方法で共有


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 を呼び出します。 次の表に、考えられるエラー コードを示します。

リターン コード 説明
E_INVALIDARG
証明書のエンコードの種類が無効です。 PKCS_7_ASN_ENCODINGとX509_ASN_ENCODINGのみがサポートされています。
 

関数が失敗した場合、GetLastError は抽象構文表記 1 (ASN.1) エンコード/デコード エラーを返す可能性があります。 これらのエラーの詳細については、「 ASN.1 エンコード/デコードの戻り値」を参照してください。

注釈

CTL_CONTEXTは、CertFreeCTLContext を呼び出して解放する必要があります。 CertDuplicateCTLContext を呼び出して重複を作成できます。 CertSetCTLContextPropertyCertGetCTLContextProperty を呼び出して、CTL のプロパティを格納および読み取ることができます。

要件

要件
サポートされている最小のクライアント Windows XP [デスクトップ アプリ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー wincrypt.h
Library Crypt32.lib
[DLL] Crypt32.dll

こちらもご覧ください

CTL_CONTEXT

CertCreateCRLContext

CertCreateCertificateContext

CertDuplicateCTLContext

CertFreeCTLContext

CertGetCTLContextProperty

CertSetCTLContextProperty

証明書信頼リスト関数