Поделиться через


Метод ICspStatus::get_Ordinal (certenroll.h)

Свойство Ordinal указывает или извлекает положение объекта ICspStatus в коллекции ICspStatuses .

Это свойство является чтением и записью.

Синтаксис

HRESULT get_Ordinal(
  LONG *pValue
);

Параметры

pValue

Возвращаемое значение

None

Remarks

Чтобы выполнить итерацию по коллекции ICspStatuses по порядковой номеру, вызовите свойство ItemByOrdinal . Порядковый номер объектов ICspStatus в коллекции может меняться при каждом перечислении коллекции по ряду причин, включая, помимо прочего, следующие:

  • Параметры шаблона запроса сертификата
  • Значения свойств для поставщика шифрования
  • Значения свойств закрытого ключа

Например, предположим, что шаблон версии 2, выбранный для создания запроса сертификата, указывает, что сертификат может использоваться только для подписи (атрибут шаблона pKIDefaultKeySpec XCN_AT_SIGNATURE), а поставщиком по умолчанию являются microsoft Enhanced RSA и поставщик шифрования AES. Обратите внимание, что шаблон ограничивает сертификат подписыванием, даже если поставщик поддерживает как алгоритмы шифрования, так и подписи. То есть свойство 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 не включены.
  • Для всех других установленных поставщиков CryptoAPI, которые поддерживают асимметричные алгоритмы подписывания (XCN_AT_SIGNATURE), но не связаны с указанным поставщиком, свойство Display включено, а свойство Selected — не включено.
  • Для всех других установленных поставщиков CryptoAPI, поддерживающих алгоритмы асимметричного шифрования (XCN_AT_KEYEXCHANGE), свойства Display и Selected не включены.
  • Для всех установленных поставщиков API шифрования следующего поколения (CNG) свойства Display и Selected не включены.

В качестве другого примера предположим, что шаблон версии 3 указывает один конкретный поставщик CNG и алгоритм. Эта пара "поставщик-алгоритм" (объект ICspStatus ) сначала упорядочена, включена для отображения и выбрана. Все остальные алгоритмы, поддерживаемые этим поставщиком, упорядочены позже, не включены для отображения и не выбираются. Все остальные поставщики, поддерживающие указанный алгоритм, будут упорядочены позже, все еще включены для отображения, но не выбраны. Все оставшиеся пары "поставщик-алгоритм" не будут включены для отображения и не будут выбраны.

Примечание Поставщики CNG не поддерживают концепцию предполагаемого использования KeySpec . Они возвращают XCN_AT_NONE для этого значения свойства.

 

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header certenroll.h
DLL CertEnroll.dll

См. также раздел

ICspStatus

ICspStatuses