IX509CertificateRequestPkcs10::get_CspStatuses メソッド (certenroll.h)
CspStatuses プロパティは、証明書要求に関連付けられている秘密キーの使用目的に一致する ICspStatus オブジェクトのコレクションを取得します。
このプロパティは読み取り専用です。
構文
HRESULT get_CspStatuses(
ICspStatuses **ppValue
);
パラメーター
ppValue
戻り値
なし
解説
このプロパティは、 ICspStatus オブジェクトのコレクションを取得します。 各オブジェクトは、1 つのプロバイダーとアルゴリズムのペアを表します。 CspStatuses プロパティは、GetCspStatuses メソッドとは異なります。 メソッドを使用すると KeySpec パラメーターを設定できますが、CspStatuses は IX509CertificateRequestPkcs10 オブジェクトに関連付けられている秘密キーに設定された KeySpec プロパティを使用します。 次のいずれかの値を指定できます。
値 | 説明 |
---|---|
XCN_AT_NONE | Cryptography API のみ: 次世代 (CNG) プロバイダーが選択されています。 |
XCN_AT_KEYEXCHANGE | 暗号化アルゴリズム (キー交換を含む) を使用する CryptoAPI 暗号化サービス プロバイダー (CSP) のみが選択されます。 |
XCN_AT_SIGNATURE | 署名アルゴリズムを使用する CryptoAPI 暗号化サービス プロバイダー (CSP) のみが選択されます。 |
要求オブジェクトを初期化するときにテンプレートを指定した場合、 pKIDefaultCSP や pKIDefaultKeySpec などのテンプレート属性は、コレクションで最初に有効になっているプロバイダーとアルゴリズムのペアに影響します。 各 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 オブジェクトを 初期化する必要があります。 詳細については、次のいずれかの方法を参照してください。
- InitializeDecode
- InitializeFromCertificate
- InitializeFromPrivateKey
- InitializeFromPublicKey
- InitializeFromTemplateName
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | certenroll.h |
[DLL] | CertEnroll.dll |