CertCreateCTLEntryFromCertificateContextProperties 関数 (wincrypt.h)

CertCreateCTLEntryFromCertificateContextProperties 関数は、証明書コンテキストのプロパティである属性を持つ証明書信頼リスト (CTL) エントリを作成します。 CTL エントリの SubjectIdentifier は、証明書の SHA1 ハッシュです。

証明書のプロパティが属性として追加されます。 プロパティ属性 OID は、szOID_CERT_PROP_ID_PREFIXの前に 10 進数PROP_IDです。 各プロパティ値は、1 つの属性値としてコピーされます。

cOptAttr パラメーターと rgOptAttr パラメーターを使用して、追加の属性を 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 エントリを取得するには、この関数を 2 回呼び出します。 最初の呼び出しで、このパラメーターを NULL に設定します。 関数が戻るときに、 pcbCtlEntry パラメーターから取得したバイト数を使用してメモリを割り当てます。 関数をもう一度呼び出し、このパラメーターを割り当てられたメモリのアドレスに設定します。

[in, out] pcbCtlEntry

CTL_ENTRY構造体に割り当てる必要があるバイト数を含む DWORD へのポインター。 バイト数を取得するには、この関数を 2 回呼び出します。 最初の呼び出しでは、このパラメーターを 0 を含む DWORD 値のアドレスに設定し、 pCtlEntry パラメーターを NULL に設定します。 最初の呼び出しが成功した場合、 DWORD 値には 、CTL_ENTRY 構造体に割り当てる必要があるバイト数が含まれます。 必要なメモリを割り当てて関数をもう一度呼び出し、 pCtlEntry パラメーターにメモリのアドレスを指定します。

戻り値

関数が成功した場合、関数は 0 以外 (TRUE) を返します。

関数が失敗した場合は、0 (FALSE) を返します。 拡張エラー情報については、 GetLastError を呼び出します。

要件

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