CertSetCTLContextProperty 関数 (wincrypt.h)
CertSetCTLContextProperty 関数は、指定された証明書信頼リスト (CTL) コンテキストの拡張プロパティを設定します。
構文
BOOL CertSetCTLContextProperty(
[in] PCCTL_CONTEXT pCtlContext,
[in] DWORD dwPropId,
[in] DWORD dwFlags,
[in] const void *pvData
);
パラメーター
[in] pCtlContext
CTL_CONTEXT構造体へのポインター。
[in] dwPropId
設定するプロパティを識別します。 dwPropId の値によって、pvData パラメーターの種類と内容が決まります。 現在定義されている識別子とその関連 する pvData 型は次のとおりです。
値 | 意味 |
---|---|
|
pvData のデータ型: NULL
列挙中に証明書がスキップされたことを示します。 このプロパティ セットを持つ証明書は、特定の ハッシュ または特定のシリアル番号を持つ証明書の検索など、明示的な検索操作で引き続き見つかります。 |
|
pvData のデータ型: CRYPT_DATA_BLOBへのポインター
自動登録を使用して証明書を登録した後に設定されるプロパティ。 pvData が指すCRYPT_DATA_BLOB構造には、証明書が自動登録された証明書の種類の null で終わる Unicode 名が含まれます。 証明書の自動登録に対する後続の呼び出しでは、このプロパティがチェックされ、証明書が登録されているかどうかを判断します。 |
|
pvData のデータ型: CRYPT_DATA_BLOBへのポインター
pvDataは、抽象構文表記法 1 (ASN.1) でエンコードされたCTL_USAGE構造を含むCRYPT_DATA_BLOB構造体を指します。 この構造体は、X509_ENHANCED_KEY_USAGE値が設定された CryptEncodeObject を 使用してエンコードされました。 |
|
pvData のデータ型: CRYPT_DATA_BLOBへのポインター
証明書 UI によって設定および表示されるプロパティ。 このプロパティを使用すると、ユーザーは証明書の使用方法を説明できます。 |
|
pvData のデータ型: CRYPT_DATA_BLOBへのポインター
ASN.1 でエンコードされた CERT_ENHKEY_USAGE 構造体を含む CRYPT_DATA_BLOB 構造体。 この構造体は、X509_ENHANCED_KEY_USAGE値が設定された CryptEncodeObject を 使用してエンコードされました。 |
|
pvData のデータ型: CRYPT_DATA_BLOBへのポインター
CRYPT_DATA_BLOB構造体は、証明書の表示名を指定します。 |
|
pvData のデータ型: CRYPT_HASH_BLOBへのポインター
このプロパティは、 CertGetCertificateContextProperty の呼び出しによって暗黙的に設定されます。 |
|
pvData のデータ型: CERT_KEY_CONTEXTへのポインター
CERT_KEY_CONTEXT構造体には、HCRYPTPROV 値と秘密キーのキー指定の両方が含まれています。 hCryptProv メンバーと dwFlags の設定の詳細については、「CERT_KEY_PROV_HANDLE_PROP_ID、以下」を参照してください。 このプロパティには 、さらにCERT_KEY_CONTEXT 構造体メンバーを追加できることに注意してください。 その場合、 cbSize メンバー値はそれに応じて調整されます。 cbSize メンバーは、CERT_KEY_CONTEXT構造体のサイズに設定する必要があります |
|
pvData のデータ型: CRYPT_DATA_BLOBへのポインター
このプロパティは通常、 CertGetCertificateContextProperty の呼び出しによって暗黙的に設定されます。 |
|
pvData のデータ型: HCRYPTPROV へのポインター
証明書の秘密キーの HCRYPTPROV ハンドルが渡されます。 CERT_KEY_CONTEXT構造体の hCryptProv メンバーが存在する場合は更新されます。 存在しない場合は、CERT_KEY_PROV_INFO_PROP_IDによって初期化された dwKeySpec を使用して作成されます。 CERT_STORE_NO_CRYPT_RELEASE_FLAGが設定されていない場合、 hCryptProv 値は、プロパティが NULL に設定されている場合、または CERT_CONTEXT 構造体の最終的な解放時に暗黙的に解放されます。 |
|
pvData のデータ型: CRYPT_KEY_PROV_INFOへのポインター
CRYPT_KEY_PROV_INFO構造体は、証明書の秘密キーを指定します。 |
|
pvData のデータ型: DWORD へのポインター
DWORD 値は秘密キーを指定します。 CERT_KEY_CONTEXT構造体の dwKeySpec メンバーが存在する場合は更新されます。 そうでない場合は、 hCryptProv を 0 に設定して作成されます。 |
|
pvData のデータ型: CRYPT_HASH_BLOBへのポインター
このプロパティは、 CertGetCertificateContextProperty の呼び出しによって暗黙的に設定されます。 |
|
pvData のデータ型: CRYPT_DATA_BLOBへのポインター
CRYPT_DATA_BLOB構造体には、X509_ALTERNATE_NAME値が設定されたCryptEncodeObject を使用してエンコードされた ASN.1 でエンコードされたCERT_ALT_NAME_INFO構造が含まれています。 CERT_NEXT_UPDATE_LOCATION_PROP_IDは現在、CCTL でのみ使用されています。 |
|
pvData のデータ型: CRYPT_DATA_BLOBへのポインター
CRYPT_DATA_BLOB構造体は、証明書の公開キーに関連付けられている秘密キーを含むファイルの名前を指定します。 CRYPT_DATA_BLOB構造体内では、pbData メンバーは null で終わる Unicode ワイド文字列へのポインターであり、cbData メンバーは文字列の長さを示します。 |
|
pvData のデータ型: CRYPT_HASH_BLOBへのポインター
このプロパティは、 CertGetCertificateContextProperty の呼び出しによって暗黙的に設定されます。 |
|
pvData のデータ型: CRYPT_HASH_BLOBへのポインター
署名ハッシュが存在しない場合は、 CryptHashToBeSigned を使用して計算されます。 pvData は 、既存のハッシュまたは計算されたハッシュを指します。 通常、ハッシュの長さは SHA の場合は 20 バイト、MD5 の場合は 16 バイトです。 |
通常、CERT_NEXT_UPDATE_LOCATION_PROP_ID プロパティのみが設定されます。
CERT_FIRST_USER_PROP_IDからCERT_LAST_USER_PROP_IDまでの DWORD 値を使用して、ユーザーが追加の dwPropId 型を定義できます。 すべてのユーザー定義 dwPropId 型について、 pvData はエンコードされた CRYPT_DATA_BLOB 構造体を指します。
[in] dwFlags
CERT_STORE_NO_CRYPT_RELEASE_FLAGは、CERT_KEY_PROV_HANDLE_PROP_IDまたは dwPropId プロパティCERT_KEY_CONTEXT_PROP_ID設定できます。
CERT_SET_PROPERTY_IGNORE_PERSIST_ERROR_FLAG値が設定されている場合、プロバイダー/書き込みエラーはすべて無視され、キャッシュされたコンテキストのプロパティは常に設定されます。
CERT_SET_PROPERTY_INHIBIT_PERSIST_FLAGが設定されている場合、プロパティ セットは保持されません。
[in] pvData
dwPropId で渡された値によって決定されるデータ型へのポインター。
戻り値
関数が成功した場合、戻り値は TRUE になります。
関数が失敗した場合、戻り値は FALSE になります。 拡張エラー情報については、 GetLastError を呼び出します。 考えられるエラー コードの 1 つは次のとおりです。
リターン コード | 説明 |
---|---|
|
無効なプロパティ識別子です。 詳細については、「 CertSetCertificateContextProperty」を参照してください。 |
注釈
プロパティが既に存在する場合は、その古い値が置き換えられます。
例
「 サンプル C プログラム: 証明書のプロパティの取得と設定」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP [デスクトップ アプリ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | wincrypt.h |
Library | Crypt32.lib |
[DLL] | Crypt32.dll |