CertCreateContext 関数 (wincrypt.h)
CertCreateContext 関数は、エンコードされたバイトから指定されたコンテキストを作成します。 作成されたコンテキストには、拡張プロパティは含まれません。
構文
const void * CertCreateContext(
[in] DWORD dwContextType,
[in] DWORD dwEncodingType,
[in] const BYTE *pbEncoded,
[in] DWORD cbEncoded,
[in] DWORD dwFlags,
[in, optional] PCERT_CREATE_CONTEXT_PARA pCreatePara
);
パラメーター
[in] dwContextType
作成できるコンテキストを指定します。 たとえば、 証明書コンテキストを作成するには、 dwContextType を CERT_STORE_CERTIFICATE_CONTEXT に設定します。
現在定義されているコンテキスト型フラグを次の表に示します。
値 | 意味 |
---|---|
|
証明書コンテキスト。 |
|
CRL コンテキスト。 |
|
CTL コンテキスト。 |
[in] dwEncodingType
使用するエンコードの種類を指定します。 現在、X509_ASN_ENCODINGとPKCS_7_ASN_ENCODINGのみが使用されています。ただし、今後、エンコードの種類が追加される可能性があります。 現在のエンコードの種類の場合は、次の値を使用します。
X509_ASN_ENCODING |PKCS_7_ASN_ENCODING。
[in] pbEncoded
コピーする既存のエンコードされたコンテキスト コンテンツを含むバッファーへのポインター。
[in] cbEncoded
pbEncoded バッファーのサイズ (バイト単位)。
[in] dwFlags
次のフラグ値が定義されており、ビットごとの OR 演算を使用して組み合わせることができます。
値 | 意味 |
---|---|
|
作成されたコンテキストは、割り当てられたコピーではなく pbEncoded が指すコンテンツを直接指します。 |
|
関数は、並べ替えられたエントリを含むコンテキストを作成します。 現在、このフラグは CTL コンテキストにのみ適用されます。
CCTL の場合、返されるCTL_INFO構造体の cCTLEntry メンバーは常に 0 です。 CertFindSubjectInSortedCTL と CertEnumSubjectInSortedCTL を呼び出して、CTL エントリを検索または列挙する必要があります。 |
|
既定では、CTL コンテキストが作成されると、 その SignedData メッセージに対する HCRYTPMSG ハンドルが作成されます。 このフラグは、このハンドルを作成しないことによってパフォーマンスを向上させるために設定できます。 このフラグは、 dwContextType がCERT_STORE_CTL_CONTEXTされている場合にのみ使用できます。 |
|
既定では、CTL コンテキストが作成されると、そのエントリがデコードされます。 このフラグを設定すると、エントリはデコードされず、パフォーマンスが向上します。 このフラグは、 dwContextType がCERT_STORE_CTL_CONTEXTされている場合にのみ使用できます。 |
[in, optional] pCreatePara
CERT_CREATE_CONTEXT_PARA構造体へのポインター。
pCreatePara とその pfnFree メンバーの両方が NULL 以外の場合、pfnFree メンバーを使用して、pvFree メンバーで指定されたメモリを解放します。 pvFree メンバーが NULL の場合、pfnFree メンバーを使用して pbEncoded ポインターを解放します。
pCreatePara またはその pfnFree メンバーが NULL の場合、pbEncoded の解放は試行されません。
戻り値
関数が成功した場合、戻り値は新しく作成されたコンテキストへのポインターです。 作成されたコンテキストを解放するには、pCreatePara のpvFree メンバーを呼び出す必要があります。
関数が失敗した場合は、返される値は NULL です。 拡張エラー情報については、 GetLastError を呼び出します。
GetLastError がERROR_CANCELLEDを返す場合は、PFN_CERT_CREATE_CONTEXT_SORT_FUNCコールバック関数が FALSE を返して並べ替えを停止したことを意味します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP [デスクトップ アプリ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | wincrypt.h |
Library | Crypt32.lib |
[DLL] | Crypt32.dll |