ICertServerPolicy::GetCertificateProperty メソッド (certif.h)
GetCertificateProperty メソッドは、証明書から名前付きプロパティを返します。
このメソッドを使用する前に 、ICertServerPolicy::SetContext を呼び出す必要があります。
構文
HRESULT GetCertificateProperty(
[in] const BSTR strPropertyName,
[in] LONG PropertyType,
[out] VARIANT *pvarPropertyValue
);
パラメーター
[in] strPropertyName
取得する名前付きプロパティを指定します。 name プロパティと呼ばれる証明書プロパティのストック セット があり、これは常に有効であり、このメソッドを呼び出すことによって取得できます。 これらのプロパティの詳細については、「 名前のプロパティ」を参照してください。 name プロパティ以外の他のプロパティも取得できます。
証明書の DistinguishedName プロパティと RawName プロパティは、ポリシー モジュールが要求の処理を完了し、証明書が発行された後にのみ、 ICertServerExit::GetCertificateProperty からアクセスできます。 発行された証明書の DistinguishedName プロパティと RawName プロパティは、 ICertServerExit::GetCertificateProperty を使用して終了モジュールで読み取ることもできます。
GetCertificateProperty によってアクセスできない追加の証明書プロパティがあります。 これらのプロパティは、ポリシー モジュールがVR_INSTANT_OKを返し、証明書が発行されるまで設定されません。 発行された証明書のすべてのプロパティの完全な一覧については、「 GetCertificateProperty」を参照してください。
次のプロパティは証明書に固有であり、 GetCertificateProperty で読み取ることができます。
Certificate プロパティ | 意味 |
---|---|
|
内部要求 ID |
|
証明書の有効期間の開始日 |
|
証明書の有効期限 |
|
サブジェクト キー |
|
サブジェクト キー アルゴリズム オブジェクト ID (OID) |
|
サブジェクト キー アルゴリズム のパラメーター |
|
登録要求の GeneralFlags。 これは値のビットごとの OR です。 関心のある唯一の値は、データベースに要求を永続化しないように CA に指示する0x00000400のフラグ値である必要があります。 CA がデータベースレス モードの場合 (つまり、Windows Server 2008 R2 以降の CA の場合、CA のデータベースにはDBFLAGS_ENABLEVOLATILEREQUESTS フラグが設定されています)、データベースレス モードで CA を構成するには、 と certutil -setreg DBFlags を使用certutil -getreg DbFlags します。
Windows Vista および Windows Storage Server 2003: このフィールドはサポートされていません。 |
|
更新要求の場合は、要求者アカウント名 (contoso\requester など) を返します。 |
次のプロパティは 、証明機関に適用されます。
CA プロパティ | 意味 |
---|---|
|
証明機関の種類。 次のいずれかの値を指定できます (Certsrv.h で定義)。
|
|
CA 証明書の数。 この値は、1 に CA が更新された回数を加算した値になります。 更新の詳細については、「 認定」を参照してください。 |
|
CA 証明書の 状態。 次のいずれかの値を指定できます。
|
|
CA 証明書のサフィックス。 サフィックスは、インデックスが 0 の CA 証明書の空の文字列です。それ以外の場合は、サフィックス ("(nn)"、 nn は証明書インデックス) が、ファイルまたはディレクトリ サービス オブジェクトに格納されている CA 証明書を指すすべての URL に適用されます。 LDAP 以外の URL の場合、サフィックスは通常、".crt" テキストの前に表示されます。 LDAP URL の場合、サフィックスは通常、完全な識別名の最初の 'CN=' に追加されます。
このプロパティ名には '.#' を追加できます。ここで、 # は CA 証明書インデックス (または CRLSuffix プロパティの場合は CRL インデックス) を表します。 証明書と CRL のインデックスの詳細については、「 証明機関の更新」を参照してください。 |
|
証明書失効リスト (CRL) インデックス。 このプロパティ名に証明書インデックスを追加すると、CRL インデックスを取得できます。 CRL インデックスは、必ずしも証明書インデックスと一致するとは限りません。 詳細については、「 認定」を参照してください。
このプロパティ名には '.#' を追加できます。ここで、 # は CA 証明書インデックス (または CRLSuffix プロパティの場合は CRL インデックス) を表します。 証明書と CRL のインデックスの詳細については、「 証明機関の更新」を参照してください。 |
|
CRL の状態。 次のいずれかの値を指定できます。
|
|
CA CRL のサフィックス。 サフィックスは、インデックスが 0 の CRL の空の文字列です。それ以外の場合は、ファイルまたはディレクトリ サービス オブジェクトに格納されている CRL を指すすべての URL にサフィックス ("(nn)"、 nn は CRL インデックスの形式) が適用されます。 LDAP 以外の URL の場合、通常、サフィックスは .crl テキストの前に表示されます。 LDAP URL の場合、サフィックスは通常、完全な識別名の最初の 'CN=' に追加されます。
このプロパティ名には '.#' を追加できます。ここで、 # は CA 証明書インデックス (CRLSuffix プロパティの場合は CRL インデックス) を表します。 証明書と CRL インデックスの詳細については、「証明機関の 更新」を参照してください。 |
|
CA がディレクトリ サービスを使用するかどうかを示します。 これには、次のいずれかの値を指定できます。
|
|
CA をホストしているサーバーの DNS 名。 |
|
モジュールで使用できるレジストリの場所。 |
|
CA 証明書。
このプロパティ名には '.#' を追加できます。ここで、 # は CA 証明書インデックス (CRLSuffix プロパティの場合は CRL インデックス) を表します。 証明書と CRL インデックスの詳細については、「証明機関の 更新」を参照してください。 |
|
CA の 証明書失効リスト (CRL)。
このプロパティ名には '.#' を追加できます。ここで、 # は CA 証明書インデックス (CRLSuffix プロパティの場合は CRL インデックス) を表します。 証明書と CRL インデックスの詳細については、「証明機関の 更新」を参照してください。 |
|
要求元が証明書の要求を承認されているかどうかを示します。 これには、次のいずれかの値を指定できます。
|
|
CA の サニタイズされた名前 。 サニタイズされた CA 名の詳細については、「 ICertConfig::GetConfig」を参照してください。 |
|
CA のサニタイズされた名前。短縮され、一意性を確保するためのハッシュ値が含まれています。 |
[in] PropertyType
プロパティの種類を指定します。 型には、次のいずれかの値を指定できます。
Type | 説明 |
---|---|
|
署名された長いデータ |
|
日付/時刻 |
|
Binary Data |
|
Unicode 文字列データ |
[out] pvarPropertyValue
プロパティ値を格納する VARIANT へのポインター。
戻り値
メソッドが成功した場合、メソッドは S_OKを返し、*pvarPropertyValue は要求されたプロパティ値を含む VARIANT に設定されます。
メソッドが失敗した場合は、エラーを示す HRESULT 値を返します。 一般的なエラー コードの一覧については、「 共通の HRESULT 値」を参照してください。
要件
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | certif.h (Certsrv.h を含む) |
Library | Certidl.lib |
[DLL] | Certcli.dll |