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


Перечисление AlgorithmOperationFlags (certenroll.h)

Тип перечисления AlgorithmOperationFlags указывает операции, которые может выполнять алгоритм. Это перечисление используется в следующих интерфейсах для получения операционных возможностей поставщика шифрования или сведений о состоянии на основе этих возможностей.

Двоичный формат флагов выглядит следующим образом.

XCN_NCRYPT_NO_OPERATION                     = 00000000 00000000 00000000
XCN_NCRYPT_CIPHER_OPERATION                 = 00000000 00000000 00000001
XCN_NCRYPT_HASH_OPERATION                   = 00000000 00000000 00000010

XCN_NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION  = 00000000 00000000 00000100
XCN_NCRYPT_SECRET_AGREEMENT_OPERATION       = 00000000 00000000 00001000
XCN_NCRYPT_SIGNATURE_OPERATION              = 00000000 00000000 00010000
XCN_NCRYPT_ANY_ASYMMETRIC_OPERATION         = 00000000 00000000 00011100

XCN_NCRYPT_RNG_OPERATION                    = 00000000 00000000 00100000

XCN_NCRYPT_PREFER_SIGNATURE_ONLY_OPERATION  = 00100000 00000000 00000000
XCN_NCRYPT_PREFER_NON_SIGNATURE_OPERATION   = 01000000 00000000 00000000
XCN_NCRYPT_EXACT_MATCH_OPERATION            = 10000000 00000000 00000000
XCN_NCRYPT_PREFERENCE_MASK_OPERATION        = 11100000 00000000 00000000

Синтаксис

typedef enum AlgorithmOperationFlags {
  XCN_NCRYPT_NO_OPERATION = 0,
  XCN_NCRYPT_CIPHER_OPERATION = 0x1,
  XCN_NCRYPT_HASH_OPERATION = 0x2,
  XCN_NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION = 0x4,
  XCN_NCRYPT_SECRET_AGREEMENT_OPERATION = 0x8,
  XCN_NCRYPT_SIGNATURE_OPERATION = 0x10,
  XCN_NCRYPT_RNG_OPERATION = 0x20,
  XCN_NCRYPT_KEY_DERIVATION_OPERATION = 0x40,
  XCN_NCRYPT_ANY_ASYMMETRIC_OPERATION,
  XCN_NCRYPT_PREFER_SIGNATURE_ONLY_OPERATION = 0x200000,
  XCN_NCRYPT_PREFER_NON_SIGNATURE_OPERATION = 0x400000,
  XCN_NCRYPT_EXACT_MATCH_OPERATION = 0x800000,
  XCN_NCRYPT_PREFERENCE_MASK_OPERATION = 0xe00000
} ;

Константы

 
XCN_NCRYPT_NO_OPERATION
Значение: 0
Операция не указана.
XCN_NCRYPT_CIPHER_OPERATION
Значение: 0x1
Алгоритм можно использовать для симметричного шифрования. Сюда входят алгоритмы RC2, RC4, data encryption standard (DES), 3DED и AES .
XCN_NCRYPT_HASH_OPERATION
Значение: 0x2
Алгоритм можно использовать для хэширования. Сюда входят алгоритмы хэшированияMD2, MD4, SHA1, SHA256, SHA384, SHA512 MAC и хэш-кода проверки подлинности сообщений (HMAC).
XCN_NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION
Значение: 0x4
Алгоритм можно использовать для шифрования открытого ключа . Сюда входит RSA.
XCN_NCRYPT_SECRET_AGREEMENT_OPERATION
Значение: 0x8
Алгоритм может использоваться для обмена ключами. К ним относятся алгоритм Диффи-Хеллмана и алгоритм ECDH.
XCN_NCRYPT_SIGNATURE_OPERATION
Значение: 0x10
Алгоритм можно использовать для подписывания. Сюда входят алгоритмы RSA, алгоритм цифровых подписей (DSA) и алгоритм ECDSA.
XCN_NCRYPT_RNG_OPERATION
Значение: 0x20
Алгоритм можно использовать для создания случайного числа.
XCN_NCRYPT_KEY_DERIVATION_OPERATION
Значение: 0x40
XCN_NCRYPT_ANY_ASYMMETRIC_OPERATION
Алгоритм можно использовать для шифрования открытого ключа, обмена ключами и подписывания. Это побитовая или комбинация следующих констант:


  • XCN_NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION

  • XCN_NCRYPT_SECRET_AGREEMENT_OPERATION

  • XCN_NCRYPT_SIGNATURE_OPERATION

XCN_NCRYPT_PREFER_SIGNATURE_ONLY_OPERATION
Значение: 0x200000
Алгоритмы подписи являются предпочтительными, но не обязательными. Вместо этого можно выбрать алгоритм шифрования. Это используется при поиске сведений о состоянии поставщика служб шифрования (CSP) на основе поддерживаемых операционных возможностей.
XCN_NCRYPT_PREFER_NON_SIGNATURE_OPERATION
Значение: 0x400000
Алгоритм шифрования (например, определенный флагами XCN_NCRYPT_ANY_ASYMMETRIC_OPERATION или XCN_NCRYPT_SECRET_AGREEMENT_OPERATION ) является предпочтительным, но не обязательным. Вместо этого можно выбрать алгоритм подписи. Это используется при поиске сведений о состоянии CSP на основе поддерживаемых операционных возможностей.
XCN_NCRYPT_EXACT_MATCH_OPERATION
Значение: 0x800000
Выбирается только алгоритм, точно соответствующий указанным операциям.
XCN_NCRYPT_PREFERENCE_MASK_OPERATION
Значение: 0xe00000
Используйте для маскирования предпочтительного варианта операции алгоритма.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Верхняя часть certenroll.h

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

AlgorithmType

Перечисления CertEnroll

Интерфейсы CertEnroll