Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Метод GetAlgorithmOid извлекает идентификатор объекта алгоритма (OID). Этот метод включен в Интернете.
Синтаксис
HRESULT GetAlgorithmOid(
[in] LONG Length,
[in] AlgorithmFlags AlgFlags,
[out] IObjectId **ppValue
);
Параметры
[in] Length
Переменная LONG , определяющая необходимый размер ключа алгоритма симметричного шифрования. Используйте этот параметр для получения определенного алгоритма AES из API шифрования: поставщик хранилища ключей следующего поколения (CNG). KSP может содержать только один алгоритм с именем AES, но поддерживает все варианты AES в следующем списке:
- szOID_NIST_AES128_CBC (2.16.840.1.101.3.4.1.2)
- szOID_NIST_AES192_CBC (2.16.840.1.101.3.4.1.22)
- szOID_NIST_AES256_CBC (2.16.840.1.101.3.4.1.42)
- szOID_NIST_AES128_WRAP (2.16.840.1.101.3.4.1.5)
- szOID_NIST_AES192_WRAP (2.16.840.1.101.3.4.1.25)
- szOID_NIST_AES256_WRAP (2.16.840.1.101.3.4.1.45)
Если для параметра AlgFlagsNone (0x00000000) указать ноль параметра Length и AlgorithmFlags, извлекается OID, связанный с алгоритмом по умолчанию. Для KSP Программного обеспечения Майкрософт и KSP Microsoft Smart Card алгоритм AES по умолчанию szOID_NIST_AES128_CBC (2.16.840.1.101.3.4.1.2).
[in] AlgFlags
Значение перечисления AlgorithmFlags , указывающее, следует ли искать алгоритм упаковки ключей. Может иметь одно из следующих значений:
- AlgorithmFlagsNone
- AlgorithmFlagsWrap
Указание AlgorithmFlagsWrap приводит к поиску алгоритмов, для которых отображаемое имя заканчивается "оболочкой". К ним относятся следующие OID:
- szOID_NIST_AES128_WRAP (2.16.840.1.101.3.4.1.5)
- szOID_NIST_AES192_WRAP (2.16.840.1.101.3.4.1.25)
- szOID_NIST_AES256_WRAP (2.16.840.1.101.3.4.1.45)
- XCN_OID_RSA_SMIMEalgCMS3DESwrap (1.2.840.113549.1.9.16.3.6)
- XCN_OID_RSA_SMIMEalgCMSRC2wrap (1.2.840.113549.1.9.16.3.7)
Если для параметра AlgFlagsNone (0x00000000) указать ноль параметра Length и AlgorithmFlags, извлекается OID, связанный с алгоритмом по умолчанию. Для KSP Программного обеспечения Майкрософт и KSP Microsoft Smart Card алгоритм AES по умолчанию szOID_NIST_AES128_CBC (2.16.840.1.101.3.4.1.2).
[out] ppValue
Адрес переменной, получающей указатель на интерфейс IObjectId , представляющий алгоритм OID.
Возвращаемое значение
Если функция выполнена успешно, функция возвращает S_OK.
Если функция завершается ошибкой, она возвращает значение HRESULT , указывающее на ошибку. Возможные значения включают, но не ограничиваются ими в следующей таблице. Список распространенных кодов ошибок см. в разделе "Общие значения HRESULT".
| Возврат кода или значения | Description |
|---|---|
|
Не удалось найти алгоритм OID. |
|
Сведения CSP не инициализированы. Дополнительные сведения см. в интерфейсе ICspInformation . |
Замечания
Перед вызовом GetAlgorithmOid необходимо вызвать метод InitializeFromName или метод InitializeFromType в интерфейсе ICspInformation.
Требования
| Требование | Ценность |
|---|---|
| Минимальный поддерживаемый клиент | Windows Vista [только классические приложения] |
| минимальный поддерживаемый сервер | Windows Server 2008 [только классические приложения] |
| целевая платформа | Виндоус |
| Header | certenroll.h |
| DLL | CertEnroll.dll |