IX509CertificateRequestPkcs10::get_CspStatuses メソッド (certenroll.h)

CspStatuses プロパティは、証明書要求に関連付けられている秘密キーの使用目的に一致する ICspStatus オブジェクトのコレクションを取得します。

このプロパティは読み取り専用です。

構文

HRESULT get_CspStatuses(
  ICspStatuses **ppValue
);

パラメーター

ppValue

戻り値

なし

解説

このプロパティは、 ICspStatus オブジェクトのコレクションを取得します。 各オブジェクトは、1 つのプロバイダーとアルゴリズムのペアを表します。 CspStatuses プロパティは、GetCspStatuses メソッドとは異なります。 メソッドを使用すると KeySpec パラメーターを設定できますが、CspStatusesIX509CertificateRequestPkcs10 オブジェクトに関連付けられている秘密キーに設定された KeySpec プロパティを使用します。 次のいずれかの値を指定できます。

説明
XCN_AT_NONE Cryptography API のみ: 次世代 (CNG) プロバイダーが選択されています。
XCN_AT_KEYEXCHANGE 暗号化アルゴリズム (キー交換を含む) を使用する CryptoAPI 暗号化サービス プロバイダー (CSP) のみが選択されます。
XCN_AT_SIGNATURE 署名アルゴリズムを使用する CryptoAPI 暗号化サービス プロバイダー (CSP) のみが選択されます。
 

要求オブジェクトを初期化するときにテンプレートを指定した場合、 pKIDefaultCSPpKIDefaultKeySpec などのテンプレート属性は、コレクションで最初に有効になっているプロバイダーとアルゴリズムのペアに影響します。 各 ICspStatus オブジェクトで次のプロパティを呼び出して、ペアに関する情報を取得できます。

  • CspInformation プロパティは、プロバイダー情報を取得します。
  • CspAlgorithm プロパティは、アルゴリズム情報を取得します。
  • EnrollmentStatus プロパティは、IX509EnrollmentStatus オブジェクトを取得します。 状態オブジェクトの Selected プロパティを呼び出して、この要求に対してプロバイダーとアルゴリズムのペアが有効になっているかどうかを判断します。
  • Ordinal プロパティは、プロバイダーとアルゴリズムのペアのコレクション内の位置を取得します。

このメソッドによって取得されたコレクションは、要求オブジェクトに内部的に保存されます。 コレクションは、PKCS #10 オブジェクトが引き続き存在する限り存在します。

たとえば、要求オブジェクトに関連付けられている秘密キーの KeySpec プロパティが XCN_AT_SIGNATURE に設定されていること、およびテンプレートを使用して要求を初期化するとします。 次のステートメントは true になります。

  • ICspStatus オブジェクトのコレクションが作成され、IX509CertificateRequestPkcs10 オブジェクトに保存されます。 コレクションには、コンピューターにインストールされているすべての有効なプロバイダーとアルゴリズムのペアが含まれています。
  • KeySpec プロパティはXCN_AT_NONEに設定されていないため、Selected プロパティは、コレクション内の各 Cryptography API: Next Generation (CNG) プロバイダー/アルゴリズム ペアに対して SelectedNo に設定されます。
  • KeySpec プロパティはXCN_AT_KEYEXCHANGEに設定されていないため、コレクション内の各 CryptoAPI CSP/アルゴリズム ペアに対して SelectedNo プロパティが SelectedNo に設定されます。この場合、アルゴリズムはデータの暗号化やキーのアーカイブにのみ使用できます。
  • テンプレートまたは秘密キーによって参照されるが、コンピューターではサポートされていないプロバイダーごとに、プレースホルダー ICspStatus オブジェクトが作成され、コレクションに追加され、 Selected プロパティが SelectedNo に設定されます。
  • Selected プロパティは、各 CryptoAPI CSP/アルゴリズム ペアに対して SelectedYes に設定され、アルゴリズムはデータの署名にのみ使用できます。
  • Ordinal プロパティは、pKIDefaultCSPs テンプレート属性によって識別される CSP の順序 (存在する場合) を反映するように設定されます。 属性によって最初に一覧表示される CSP は、コレクション内で最初に並べ替えられます。 このプロパティは、秘密キーを作成する必要がある場合に登録中に使用されます。 最初に選択した CSP/アルゴリズム ペアを使用してキーを作成しますが、操作が失敗した場合は、次に選択したペアが試行されます。

このメソッドを呼び出す前に 、IX509CertificateRequestPkcs10 オブジェクトを 初期化する必要があります。 詳細については、次のいずれかの方法を参照してください。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー certenroll.h
[DLL] CertEnroll.dll

こちらもご覧ください

ICspAlgorithm

ICspAlgorithms

ICspInformation

ICspInformations

ICspStatus

IX509CertificateRequestPkcs10