CertGetCTLContextProperty 関数 (wincrypt.h)
CertGetCTLContextProperty 関数は、証明書信頼リスト (CTL) コンテキストの拡張プロパティを取得します。
構文
BOOL CertGetCTLContextProperty(
[in] PCCTL_CONTEXT pCtlContext,
[in] DWORD dwPropId,
[out] void *pvData,
[in, out] DWORD *pcbData
);
パラメーター
[in] pCtlContext
CTL_CONTEXT構造体へのポインター。
[in] dwPropId
取得するプロパティを識別します。 現在定義されている識別子と pvData で返されるデータ型を次の表に示します。
値 | 意味 |
---|---|
|
pvData のデータ型: DWORD へのポインター
証明書への書き込み操作を永続化するかどうかを示す DWORD 値を返します。 証明書がメモリ ストア内にある場合、または読み取り専用として開かれたレジストリ ベースのストアにある場合、 DWORD 値は設定されません。 |
|
pvData のデータ型: NULL
列挙中に証明書がスキップされたことを示します。 このプロパティ セットを持つ証明書は、特定のハッシュまたはシリアル番号を持つ証明書を検索するために使用されるなど、明示的な検索操作で見つかります。 pvData のデータはこのプロパティに関連付けされません。 |
|
pvData のデータ型: BYTE 配列へのポインター 証明書が自動登録されている証明書の種類に名前を付ける 、null で終わる Unicode 文字列を返します。 |
|
pvData のデータ型: BYTE 配列へのポインター |
|
pvData のデータ型: BYTE 配列へのポインター 証明書 UI によって表示されるプロパティを返します。 このプロパティを使用すると、ユーザーは証明書の使用方法を説明できます。 |
|
pvData のデータ型: BYTE 配列へのポインター ASN.1 でエンコードされたCERT_ENHKEY_USAGE構造体を含むバイト配列 を 返します。 |
|
pvData のデータ型: BYTE 配列へのポインター CTL の表示名を含む null で終わる Unicode 文字列を返します。 |
|
pvData のデータ型: BYTE 配列へのポインター SHA1 ハッシュを返します。 ハッシュが存在しない場合は、 CryptHashCertificate を使用して計算されます。 |
|
pvData のデータ型: CERT_KEY_CONTEXTへのポインター
CERT_KEY_CONTEXT構造体を返します。 |
|
pvData のデータ型: BYTE 配列へのポインター 存在しない場合は、szOID_SUBJECT_KEY_IDENTIFIER拡張機能を検索します。 失敗した場合は、証明書の SubjectPublicKeyInfo メンバーに対して SHA1 ハッシュが実行され、識別子の値が生成されます。 |
|
pvData のデータ型: HCRYPTPROV へのポインター
CERT_KEY_CONTEXT_PROP_IDから取得したプロバイダー ハンドルを返します。 |
|
pvData のデータ型: CRYPT_KEY_PROV_INFO構造体へのポインター CRYPT_KEY_PROV_INFOへのポインターを返します。 |
|
pvData のデータ型: DWORD へのポインター
プロパティから取得した秘密キーが存在する場合CERT_KEY_CONTEXT_PROP_ID指定する DWORD 値を返します。 それ以外の場合、CERT_KEY_PROV_INFO_PROP_IDが存在する場合は、 dwKeySpec のソースになります。 |
|
pvData のデータ型: BYTE 配列へのポインター MD5 ハッシュを返します。 ハッシュが存在しない場合は、 CryptHashCertificate を使用して計算されます。 |
|
pvData のデータ型: BYTE 配列へのポインター ASN.1 でエンコードされた CERT_ALT_NAME_INFO構造体を 返します。 CERT_NEXT_UPDATE_LOCATION_PROP_IDは現在、CCTL でのみ使用されています。 |
|
pvData のデータ型: BYTE 配列へのポインター 証明書の公開キーに関連付けられている秘密キーを含むファイル名を指定する 、null で終わる Unicode のワイド文字列を返します。 |
|
pvData のデータ型: BYTE 配列へのポインター SHA1 ハッシュを返します。 ハッシュが存在しない場合は、 CryptHashCertificate を使用して計算されます。 |
|
pvData のデータ型: BYTE 配列へのポインター 署名ハッシュを返します。 ハッシュが存在しない場合は、 CryptHashToBeSigned を使用して計算されます。 ハッシュの長さは、SHA の場合は 20 バイト、MD5 の場合は 16 バイトです。 |
他のすべてのプロパティ識別子の場合、pvData はバイト配列を指し、CertSetCertificateContextProperty の pvData パラメーターが指すCRYPT_DATA_BLOBを指していません。
各プロパティ識別子の詳細については、CertSetCertificateContextProperty の dwPropId パラメーターに関するドキュメントを参照してください。 CERT_SHA1_HASH_PROP_IDとCERT_NEXT_UPDATE_LOCATION_PROP_IDは、最も関心のある定義済みのプロパティです。
[out] pvData
dwPropId によって決定されたデータを受け取るバッファーへのポインター。 返される構造体のメンバーが指す構造体も、基本構造体の後に返されます。 したがって、 pcbData に含まれるサイズは、多くの場合、基本構造のサイズを超えています。
このパラメーターは、メモリ割り当て目的で情報のサイズを設定するために NULL にすることができます 。 詳細については、「不明な 長さのデータの取得」を参照してください。
[in, out] pcbData
pvData パラメーターが指すバッファーのサイズ (バイト単位) を指定する DWORD 値へのポインター。 関数が戻るときに、 DWORD 値にはバッファーに格納されるバイト数が含まれます。
戻り値
関数が成功した場合、戻り値は TRUE になります。
関数が失敗した場合、戻り値は FALSE になります。
呼び出された関数 CryptHashCertificate からのエラーは、この関数に反映できます。 拡張エラー情報については、 GetLastError を呼び出します。
考えられるエラー コードの一部を次に示します。
リターン コード | 説明 |
---|---|
|
CTL には、指定されたプロパティがありません。 |
|
pvData パラメーターで指定されたバッファーが、返されたデータを保持するのに十分な大きさでない場合、関数はERROR_MORE_DATA コードを設定し、必要なバッファー サイズをバイト単位で pcbData が指す変数に格納します。 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP [デスクトップ アプリ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | wincrypt.h |
Library | Crypt32.lib |
[DLL] | Crypt32.dll |