Enumeração AlgorithmOperationFlags (certenroll.h)

O tipo de enumeração AlgorithmOperationFlags especifica as operações que um algoritmo pode executar. Essa enumeração é usada nas interfaces a seguir para recuperar os recursos operacionais de um provedor criptográfico ou status informações com base nesses recursos.

O formato binário dos sinalizadores é o seguinte.

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

Syntax

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
} ;

Constantes

 
XCN_NCRYPT_NO_OPERATION
Valor: 0
Nenhuma operação é especificada.
XCN_NCRYPT_CIPHER_OPERATION
Valor: 0x1
O algoritmo pode ser usado para criptografia simétrica. Isso inclui os algoritmos RC2, RC4, DES ( Data Encryption Standard ), 3DED e AES .
XCN_NCRYPT_HASH_OPERATION
Valor: 0x2
O algoritmo pode ser usado para hash. Isso inclui os algoritmos de hashMD2, MD4, SHA1, SHA256, SHA384, SHA512 MAC e HMAC (Código de Autenticação de Mensagem Baseado em Hash).
XCN_NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION
Valor: 0x4
O algoritmo pode ser usado para criptografia de chave pública . Isso inclui rsa.
XCN_NCRYPT_SECRET_AGREEMENT_OPERATION
Valor: 0x8
O algoritmo pode ser usado para troca de chaves. Isso inclui o algoritmo Diffie-Hellman e o algoritmo ECDH.
XCN_NCRYPT_SIGNATURE_OPERATION
Valor: 0x10
O algoritmo pode ser usado para assinatura. Isso inclui o algoritmo RSA, o Algoritmo de Assinatura Digital (DSA) e o algoritmo ECDSA.
XCN_NCRYPT_RNG_OPERATION
Valor: 0x20
O algoritmo pode ser usado para gerar um número aleatório.
XCN_NCRYPT_KEY_DERIVATION_OPERATION
Valor: 0x40
XCN_NCRYPT_ANY_ASYMMETRIC_OPERATION
O algoritmo pode ser usado para criptografia de chave pública, troca de chaves e assinatura. Essa é uma combinação bit a bit ou das seguintes constantes:


  • XCN_NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION

  • XCN_NCRYPT_SECRET_AGREEMENT_OPERATION

  • XCN_NCRYPT_SIGNATURE_OPERATION

XCN_NCRYPT_PREFER_SIGNATURE_ONLY_OPERATION
Valor: 0x200000
Algoritmos de assinatura são preferenciais, mas não são necessários. Em vez disso, um algoritmo de criptografia pode ser escolhido. Isso é usado ao pesquisar informações de status do provedor de serviços criptográficos (CSP) com base na funcionalidade operacional com suporte.
XCN_NCRYPT_PREFER_NON_SIGNATURE_OPERATION
Valor: 0x400000
Um algoritmo de criptografia (como o identificado pelo XCN_NCRYPT_ANY_ASYMMETRIC_OPERATION ou sinalizadores de XCN_NCRYPT_SECRET_AGREEMENT_OPERATION ) é preferencial, mas não necessário. Em vez disso, um algoritmo de assinatura pode ser escolhido. Isso é usado ao pesquisar informações de status CSP com base na funcionalidade operacional com suporte.
XCN_NCRYPT_EXACT_MATCH_OPERATION
Valor: 0x800000
Somente um algoritmo que corresponde exatamente às operações especificadas é selecionado.
XCN_NCRYPT_PREFERENCE_MASK_OPERATION
Valor: 0xe00000
Use para mascarar a preferência de operação do algoritmo.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Cabeçalho certenroll.h

Confira também

Algorithmtype

Enumerações CertEnroll

CertEnroll Interfaces