ICspStatuses::get_ItemByOrdinal メソッド (certenroll.h)
ItemByOrdinal プロパティは、コレクションから序数で ICspStatus オブジェクトを取得します。
このプロパティは読み取り専用です。
構文
HRESULT get_ItemByOrdinal(
LONG Ordinal,
ICspStatus **ppValue
);
パラメーター
Ordinal
ppValue
戻り値
なし
解説
コレクション内の ICspStatus オブジェクトの序数順序は、次のようなさまざまな理由で、コレクションが列挙されるたびに異なる場合があります。
- 証明書要求テンプレートの設定
- 暗号化プロバイダーのプロパティ値
- 秘密キー プロパティの値
たとえば、証明書要求の作成に選択したバージョン 2 テンプレートで、署名にのみ証明書を使用できること ( pKIDefaultKeySpec テンプレート属性がXCN_AT_SIGNATURE)、既定のプロバイダーが Microsoft Enhanced RSA および AES Cryptographic Provider であることを指定しているとします。 プロバイダーが暗号化アルゴリズムと署名アルゴリズムの両方をサポートしている場合でも、テンプレートによって証明書の署名が制限されていることに注意してください。 つまり、プロバイダーの KeySpec プロパティは、XCN_AT_KEYEXCHANGE定数とXCN_AT_SIGNATURE定数のビットごとの組み合わせですが、 pKIDefaultKeySpec テンプレート属性はXCN_AT_SIGNATUREのみをサポートします。
コレクション内の ICspStatus オブジェクトは、次の順序で並べ替えられます。
- このプロバイダーに列挙された ICspStatus オブジェクトのうち、署名アルゴリズム (XCN_AT_SIGNATURE) に関連付けられているオブジェクトは最初に順序付けされ (序数が小さい)、 Display プロパティと Selected プロパティが有効になります。 メモpKIDefaultKeySpec テンプレート属性がXCN_AT_KEYEXCHANGEされている場合、暗号化アルゴリズムは最初に順序付けされます。
- このプロバイダーに列挙された ICspStatus オブジェクトのうち、暗号化アルゴリズム (XCN_AT_KEYEXCHANGE) に関連付けられているオブジェクトは後で順序付けされ (序数が大きい)、 Display プロパティと Selected プロパティは有効になっていません。
- 非対称署名アルゴリズム (XCN_AT_SIGNATURE) をサポートし、指定したプロバイダーに関連付けられていない他のすべてのインストール済み CryptoAPI プロバイダーについては、 Display プロパティが有効になり、 Selected プロパティは有効になっていません。
- 非対称暗号化アルゴリズム (XCN_AT_KEYEXCHANGE) をサポートする他のすべてのインストール済み CryptoAPI プロバイダーでは、 Display プロパティと Selected プロパティは有効になっていません。
- インストールされているすべての Cryptography API: Next Generation (CNG) プロバイダーでは、 Display プロパティと Selected プロパティは有効になっていません。
別の例として、バージョン 3 テンプレートで特定の CNG プロバイダーとアルゴリズムが 1 つ指定されているとします。 そのプロバイダーとアルゴリズムのペア (ICspStatus オブジェクト) が最初に順序付けされ、表示が有効になり、選択されます。 そのプロバイダーでサポートされている他のすべてのアルゴリズムは、後で順序付けされ、表示が有効ではなく、選択されません。 指定したアルゴリズムをサポートする他のすべてのプロバイダーは、後で引き続き順序付けされ、表示が有効になりますが、選択されません。 残りのプロバイダーとアルゴリズムのペアはすべて、表示が有効ではなく、選択されません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | certenroll.h |
[DLL] | CertEnroll.dll |