ICertServerExit::GetCertificateProperty メソッド (certif.h)
GetCertificateProperty メソッドは、証明書から名前付きプロパティを返します。
構文
HRESULT GetCertificateProperty(
[in] const BSTR strPropertyName,
[in] LONG PropertyType,
[out] VARIANT *pvarPropertyValue
);
パラメーター
[in] strPropertyName
取得する名前付きプロパティを指定します。 証明書プロパティのストック セット ( 名前プロパティと呼ばれます) は常に有効であり、このメソッドを呼び出すことによって取得できます。 これらのプロパティの詳細については、「 名前のプロパティ」を参照してください。 取得できるその他のプロパティには、証明書のプロパティが含まれます。
次のプロパティは証明書に固有であり、 GetCertificateProperty で読み取ることができます。
値 | 意味 |
---|---|
|
証明書の開始日 |
|
証明書の有効期限 |
|
サブジェクト キー アルゴリズム オブジェクト識別子 (OID) |
|
生証明書のバイト数 |
|
サブジェクト キー |
|
サブジェクト キー アルゴリズム のパラメーター |
|
内部要求 ID |
|
証明書のシリアル番号 |
証明書の DistinguishedName、RawName、および SerialNumber プロパティは、ポリシー モジュールが要求の処理を完了し、証明書が発行された後にのみ 、GetCertificateProperty からアクセスできます。
証明機関には、次のプロパティが適用 されます。 これらのプロパティのいずれかを読み取る場合、コンテキストは 0 である必要があります。 ICertServerExit オブジェクトが最初に作成されると、コンテキストは 0 に設定されます。 SetContext メソッドを呼び出すことで、0 に設定することもできます。
値 | 意味 |
---|---|
|
証明機関の種類。 これには、次のいずれかの値を指定できます (Certsrv.h で定義されています)。 ENUM_ENTERPRISE_ROOTCA ENUM_ENTERPRISE_SUBCA ENUM_STANDALONE_ROOTCA ENUM_STANDALONE_SUBCA |
|
CA 証明書の数。 この値は、1 に CA が更新された回数を加算した値になります。 更新の詳細については、「 証明機関の更新」を参照してください。 |
|
CA 証明書 の状態。 次のいずれかの値を指定できます。
|
|
CA 証明書のサフィックス。 サフィックスは、インデックスが 0 の CA 証明書の空の文字列です。それ以外の場合は、ファイルまたはディレクトリ サービス オブジェクトに格納されている CA 証明書を指すすべての URL にサフィックス ("(nn)"、 ここで nn は証明書インデックスの形式) が適用されます。 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
プロパティの種類を指定します。 型は、次のいずれかになります。
値 | 意味 |
---|---|
|
署名された長いデータ |
|
日付/時刻 |
|
Binary Data |
|
Unicode 文字列データ |
[out] pvarPropertyValue
プロパティ値を格納する VARIANT へのポインター。 戻り値は BSTR としてエンコードされます。 SysStringByteLen 関数を使用して、BSTR の長さを取得します。 バイナリ BLOB は、Distinguished Encoding Rulesエンコードされた X.509 証明書として格納されます。
戻り値
C++
メソッドが成功した場合、メソッドは S_OKを返します。メソッドが失敗した場合は、エラーを示す HRESULT 値を返します。 一般的なエラー コードの一覧については、「 共通の HRESULT 値」を参照してください。
VB
戻り値は、要求されたプロパティ値です。解説
このメソッドを使用する前に 、ICertServerExit::SetContext を呼び出す必要があります。
例
BSTR bstrPropName = NULL;
VARIANT varProp;
VariantInit(&varProp);
// Set the property name to RequestID.
bstrPropName = SysAllocString(L"RequestID");
// Retrieve the certificate property.
// pCertServerExit has been used to call SetContext previously.
hr = pCertServerExit->GetCertificateProperty(bstrPropName,
PROPTYPE_LONG,
&varProp );
if (FAILED(hr))
{
printf("Failed GetCertificateProperty [%x]\n", hr);
goto error;
}
else
{
// Successfully retrieved property; use varProp as needed.
// ...
}
// Done processing.
if (NULL != bstrPropName)
SysFreeString(bstrPropName);
VariantClear(&varProp);
要件
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | certif.h (Certsrv.h を含む) |
Library | Certidl.lib |
[DLL] | Certcli.dll |