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 プロパティ 意味
RequestID
署名された長い
内部要求 ID
NotBefore
日付/時刻
証明書の有効期間の開始日
NotAfter
日付/時刻
証明書の有効期限
RawPublicKey
Binary
サブジェクト キー
PublicKeyAlgorithm
String
サブジェクト キー アルゴリズム オブジェクト ID (OID)
RawPublicKeyAlgorithmParameters
Binary
サブジェクト キー アルゴリズム のパラメーター
GeneralFlags
PROPTYPE_LONG
登録要求の 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: このフィールドはサポートされていません。

RequesterNameFromOldCertificate
PROPTYPE_STRING
更新要求の場合は、要求者アカウント名 (contoso\requester など) を返します。
 

次のプロパティは 、証明機関に適用されます。

CA プロパティ 意味
CAType
Long
証明機関の種類。 次のいずれかの値を指定できます (Certsrv.h で定義)。
  • ENUM_ENTERPRISE_ROOTCA
  • ENUM_ENTERPRISE_SUBCA
  • ENUM_STANDALONE_ROOTCA
  • ENUM_STANDALONE_SUBCA
CertCount
Long
CA 証明書の数。 この値は、1 に CA が更新された回数を加算した値になります。 更新の詳細については、「 認定」を参照してください。
CertState
Long
CA 証明書の 状態。 次のいずれかの値を指定できます。
  • CA_DISP_ERROR: CA 証明書が発行されませんでした。
  • CA_DISP_REVOKED: CA 証明書が取り消されました。
  • CA_DISP_VALID: CA 証明書は引き続き有効です。
  • CA_DISP_INVALID: CA 証明書の有効期限が切れています。
このプロパティ名には '.#' を追加できます。ここで、 # は CA 証明書インデックス (または CRLSuffix プロパティの場合は CRL インデックス) を表します。 証明書と CRL のインデックスの詳細については、「 証明機関の更新」を参照してください。
CertSuffix
String
CA 証明書のサフィックス。 サフィックスは、インデックスが 0 の CA 証明書の空の文字列です。それ以外の場合は、サフィックス ("(nn)"、 nn は証明書インデックス) が、ファイルまたはディレクトリ サービス オブジェクトに格納されている CA 証明書を指すすべての URL に適用されます。 LDAP 以外の URL の場合、サフィックスは通常、".crt" テキストの前に表示されます。 LDAP URL の場合、サフィックスは通常、完全な識別名の最初の 'CN=' に追加されます。

このプロパティ名には '.#' を追加できます。ここで、 # は CA 証明書インデックス (または CRLSuffix プロパティの場合は CRL インデックス) を表します。 証明書と CRL のインデックスの詳細については、「 証明機関の更新」を参照してください。

CRLIndex
Long
証明書失効リスト (CRL) インデックス。 このプロパティ名に証明書インデックスを追加すると、CRL インデックスを取得できます。 CRL インデックスは、必ずしも証明書インデックスと一致するとは限りません。 詳細については、「 認定」を参照してください。

このプロパティ名には '.#' を追加できます。ここで、 # は CA 証明書インデックス (または CRLSuffix プロパティの場合は CRL インデックス) を表します。 証明書と CRL のインデックスの詳細については、「 証明機関の更新」を参照してください。

CRLState
Long
CRL の状態。 次のいずれかの値を指定できます。
  • CA_DISP_ERROR: CRL は別の CA 証明書によって管理されます。
  • CA_DISP_REVOKED: この CA 証明書の CRL を使用する期限切れでない CA 証明書はすべて取り消されました。
  • CA_DISP_VALID: CA 証明書は、必要に応じて CRL を発行するために引き続き使用されています。
  • CA_DISP_INVALID: この CA 証明書の CRL を使用するすべての CA 証明書の有効期限が切れています。
このプロパティ名には '.#' を追加できます。ここで、 # は CA 証明書インデックス (または CRLSuffix プロパティの場合は CRL インデックス) を表します。 証明書と CRL インデックスの詳細については、「証明機関の 更新」を参照してください。
CRLSuffix
String
CA CRL のサフィックス。 サフィックスは、インデックスが 0 の CRL の空の文字列です。それ以外の場合は、ファイルまたはディレクトリ サービス オブジェクトに格納されている CRL を指すすべての URL にサフィックス ("(nn)"、 nn は CRL インデックスの形式) が適用されます。 LDAP 以外の URL の場合、通常、サフィックスは .crl テキストの前に表示されます。 LDAP URL の場合、サフィックスは通常、完全な識別名の最初の 'CN=' に追加されます。

このプロパティ名には '.#' を追加できます。ここで、 # は CA 証明書インデックス (CRLSuffix プロパティの場合は CRL インデックス) を表します。 証明書と CRL インデックスの詳細については、「証明機関の 更新」を参照してください。

fUseDS
Long
CA がディレクトリ サービスを使用するかどうかを示します。 これには、次のいずれかの値を指定できます。
  • 0=no
  • 1= はい
MachineDNSName
String
CA をホストしているサーバーの DNS 名。
ModuleRegistryLocation
String
モジュールで使用できるレジストリの場所。
RawCACertificate
Binary
CA 証明書。

このプロパティ名には '.#' を追加できます。ここで、 # は CA 証明書インデックス (CRLSuffix プロパティの場合は CRL インデックス) を表します。 証明書と CRL インデックスの詳細については、「証明機関の 更新」を参照してください。

RawCRL
Binary
CA の 証明書失効リスト (CRL)。

このプロパティ名には '.#' を追加できます。ここで、 # は CA 証明書インデックス (CRLSuffix プロパティの場合は CRL インデックス) を表します。 証明書と CRL インデックスの詳細については、「証明機関の 更新」を参照してください。

RequesterCAAccess
Long
要求元が証明書の要求を承認されているかどうかを示します。 これには、次のいずれかの値を指定できます。
  • 0=no
  • 1= はい
(証明機関 MMC スナップインを使用して 、証明書要求 のアクセス許可を制御できます)。
SanitizedCAName
String
CA の サニタイズされた名前 。 サニタイズされた CA 名の詳細については、「 ICertConfig::GetConfig」を参照してください。
SanitizedShortName
String
CA のサニタイズされた名前。短縮され、一意性を確保するためのハッシュ値が含まれています。

[in] PropertyType

プロパティの種類を指定します。 型には、次のいずれかの値を指定できます。

Type 説明
PROPTYPE_LONG
署名された長いデータ
PROPTYPE_DATE
日付/時刻
PROPTYPE_BINARY
Binary Data
PROPTYPE_STRING
Unicode 文字列データ

[out] pvarPropertyValue

プロパティ値を格納する VARIANT へのポインター。

戻り値

メソッドが成功した場合、メソッドは S_OKを返し、*pvarPropertyValue は要求されたプロパティ値を含む VARIANT に設定されます。

メソッドが失敗した場合は、エラーを示す HRESULT 値を返します。 一般的なエラー コードの一覧については、「 共通の HRESULT 値」を参照してください。

要件

   
サポートされている最小のクライアント サポートなし
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー certif.h (Certsrv.h を含む)
Library Certidl.lib
[DLL] Certcli.dll

関連項目

ICertServerPolicy

ICertServerPolicy::SetContext

Name プロパティ