ICertAdmin2::GetCAProperty メソッド (certadm.h)
GetCAProperty メソッドは、証明機関 (CA) のプロパティ値を取得します。 このメソッドは、最初に ICertAdmin インターフェイスで定義されました。
構文
HRESULT GetCAProperty(
[in] const BSTR strConfig,
[in] LONG PropId,
[in] LONG PropIndex,
[in] LONG PropType,
[in] LONG Flags,
[out] VARIANT *pvarPropertyValue
);
パラメーター
[in] strConfig
COMPUTERNAME\CANAME 形式の CA の有効な構成文字列を表します。COMPUTERNAME は証明書サービス サーバーのネットワーク名、CANAME は証明書サービスのセットアップ時に入力された CA の共通名です。 構成文字列名の詳細については、「 ICertConfig」を参照してください。
[in] PropId
次のいずれかのプロパティ識別子を指定します。
値 | 意味 |
---|---|
|
プロパティのデータ型: Long CA が Advanced Server を実行しているかどうかを指定します。 |
|
プロパティのデータ型: Binary、indexed CA の完全な証明書 失効リスト (CRL)。 |
|
プロパティのデータ型: Long、インデックス付き ベース CRL の発行状態。 詳しくは、「注釈」をご覧ください。 |
|
プロパティのデータ型: Binary、indexed 下位クロス証明書。 下位クロス証明書とは、CA から CA の新しいキーで署名された証明書自体への更新時に発行される証明書です。 下位クロス証明書には、新しい CA 証明書の機関キー識別子と、古い CA 証明書のサブジェクト キー識別子があります。 ルート CA にのみ適用されます。 |
|
プロパティのデータ型: Long、インデックス付き 下位クロス証明書が有効かどうか。 ルート CA に対してのみ有効です。 |
|
プロパティのデータ型: Long CA 証明書の状態。 指定できる値は次のとおりです。
|
|
プロパティのデータ型: Long、インデックス付き HRESULT としての CA 証明書の状態。 |
|
プロパティのデータ型: Long、インデックス付き DWORD としての CA 証明書のバージョン。 上位ワードはキー インデックス、下位ワードは CA 証明書インデックスです。 |
|
プロパティのデータ型: Binary、indexed 前方クロス証明書。 前方クロス証明書は、CA から CA の以前のキーで署名された証明書への更新時に発行される証明書です。 前方クロス証明書には、以前の CA 証明書の機関キー識別子と、新しい CA 証明書のサブジェクト キー識別子があります。 ルート CA にのみ適用されます。 |
|
プロパティのデータ型: Long、インデックス付き 前方クロス証明書が有効かどうか。 ルート CA に対してのみ有効です。 |
|
プロパティのデータ型: String CA の名前。 |
|
プロパティのデータ型: Binary、indexed CA 署名証明書。 |
|
プロパティのデータ型: Binary、indexed CA 署名証明書チェーン。 |
|
プロパティのデータ型: Long CA の署名証明書の数。 |
|
プロパティのデータ型: Binary、indexed CA の署名証明書 CRL チェーン。 |
|
プロパティのデータ型: Long CA の種類。 次のいずれかの値を指定できます (Certsrv.h で定義)。
|
|
プロパティのデータ型: Binary、indexed CA 交換証明書。 |
|
プロパティのデータ型: Binary、indexed CA 交換証明書チェーン。 |
|
プロパティのデータ型: Long CA の交換証明書の数。 |
|
プロパティのデータ型: Binary、indexed CA の交換証明書 CRL チェーン。 |
|
プロパティのデータ型: 文字列、インデックス付き クライアントが要求する URL の種類として、機関情報アクセス URL を指定します。 Windows Server 2003: このフラグはサポートされていません。 |
|
プロパティのデータ型: 文字列、インデックス付き クライアントが要求する URL の種類として CRL 配布ポイント URL を指定します。 Windows Server 2003: このフラグはサポートされていません。 |
|
プロパティのデータ型: Long CA の CRL の状態。 指定できる値は次のとおりです。
|
|
プロパティのデータ型: Binary、indexed CA のデルタ CRL。 |
|
プロパティのデータ型: Long、インデックス付き デルタ CRL の発行状態。 詳しくは、「注釈」をご覧ください。 |
|
プロパティのデータ型: String CA の DNS 名。 |
|
プロパティのデータ型: Long CA で使用されている終了モジュールの数。 |
|
プロパティのデータ型: String 終了モジュールの説明。 |
|
プロパティのデータ型: String Certificate Services ファイルのバージョン。 |
|
プロパティのデータ型: Binary、indexed CA のキー回復エージェント (KRA) 証明書。 |
|
プロパティのデータ型: Long CA の KRA 証明書の数。 |
|
プロパティのデータ型: Long、インデックス付き KRA の証明書の状態。 戻り値は次のいずれかになります。
|
|
プロパティのデータ型: Long CA によって使用される KRA 証明書の数。 |
|
プロパティのデータ型: String CA の親 CA の名前。 |
|
プロパティのデータ型: String ポリシー モジュールの説明。 |
|
プロパティのデータ型: String ファイルが出荷された製品バージョン。 |
|
プロパティのデータ型: Long ロールの分離を有効にするかどうかを指定する値。 |
|
プロパティのデータ型: String CA のサニタイズされた名前。 サニタイズされた CA 名の定義については、「 ICertConfig2::GetConfig」を参照してください。 |
|
プロパティのデータ型: String CA のサニタイズされた短い名前。 サニタイズされた CA の短い名前の定義については、「 ICertConfig2::GetConfig」を参照してください。 |
|
プロパティのデータ型: String 共有フォルダー ディレクトリの名前。 |
|
プロパティのデータ型: String CA でサポートされているテンプレートの一覧。 |
[in] PropIndex
PropId パラメーターにインデックスが付いている場合、プロパティ値を取得するときに使用する 0 から始まるインデックス。 PropId がインデックス付けされていない場合、この値は無視されます。
[in] PropType
PropId テーブルの [意味] 列に示されているプロパティの種類を指定します。 型には、次のいずれかの型を指定できます。
値 | 意味 |
---|---|
|
署名された長いデータ |
|
日付/時刻 (将来の使用のために予約) |
|
Binary Data |
|
Unicode 文字列データ |
[in] Flags
次のフラグを使用して、返されるプロパティ値の形式を指定できます。これらのフラグは、バイナリ データ (証明書、証明書チェーン、証明書 失効リストなど) に対してのみ意味を持ち、それ以外の場合は無視されます。
[out] pvarPropertyValue
要求されたプロパティ値を受け取るバッファーへのポインター。 VariantClear を呼び出して完了したら、このリソースを解放するのは呼び出し元の責任です。
戻り値
C++
戻り値は HRESULT です。 S_OK の値は、メソッドが成功したことを示します。VB
要求されたプロパティ値。注釈
プロパティ識別子がCR_PROP_BASECRLPUBLISHSTATUSまたはCR_PROP_DELTACRLPUBLISHSTATUSされると、次の値が返されます。 これらの値は結合できます。
値 | 説明 |
---|---|
CPF_BADURL_ERROR | URL が無効です。 |
CPF_BASE | ベース CRL が発行されました。 |
CPF_CASTORE_ERROR | CA ストア エラーによりパブリケーションが禁止されました。 |
CPF_COMPLETE | 完全な CRL が発行されました。 |
CPF_DELTA | デルタ CRL が発行されました。 |
CPF_FILE_ERROR | ファイル エラーが発生して、パブリケーションが失敗しました。 |
CPF_FTP_ERROR | FTP エラーによりパブリケーションが禁止されました。 |
CPF_HTTP_ERROR | HTTP エラーによりパブリケーションが禁止されました。 |
CPF_LDAP_ERROR | LDAP エラーによりパブリケーションが禁止されました。 |
CPF_MANUAL | CRL が手動で発行されました。 |
CPF_SHADOW | 空のデルタ CRL が、新しい BASE CRL と共に発行されました。 |
CPF_SIGNATURE_ERROR | 署名エラーによりパブリケーションが禁止されました。 |
CRL の取得例については、「 証明書失効リストの取得」を参照してください。
例
次の例は、CA の署名証明書の取得を示しています。 この例では、 ICertAdmin2 インターフェイス ポインターが有効であることを前提としています。
BSTR bstrCA = NULL;
VARIANT var1;
HRESULT hr;
bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
if (NULL == bstrCA)
{
printf("Failed to allocate memory for bstrCA\n");
exit(1);
}
VariantInit(&var1);
// Retrieve the CA signature certificate at index 0.
hr = pAdmin2->GetCAProperty(bstrCA,
CR_PROP_CASIGCERT,
0,
PROPTYPE_BINARY,
CV_OUT_BASE64HEADER,
&var1);
if (FAILED(hr))
{
printf("Failed GetCAProperty\n");
SysFreeString(bstrCA);
exit(1); // Or other error action.
}
// Use the property as needed.
// ...
// Clear the variant when finished.
VariantClear(&var1);
SysFreeString(bstrCA);
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | certadm.h (Certsrv.h を含む) |
Library | Certidl.lib |
[DLL] | Certadm.dll |