Enumerazione AlgorithmOperationFlags (certenroll.h)

Il tipo di enumerazione AlgorithmOperationFlags specifica le operazioni che un algoritmo può eseguire. Questa enumerazione viene usata nelle interfacce seguenti per recuperare le funzionalità operative di un provider di crittografia o informazioni sullo stato in base a tali funzionalità.

Il formato binario dei flag è il seguente.

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

Sintassi

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

Costanti

 
XCN_NCRYPT_NO_OPERATION
Valore: 0
Non viene specificata alcuna operazione.
XCN_NCRYPT_CIPHER_OPERATION
Valore: 0x1
L'algoritmo può essere usato per la crittografia simmetrica. Sono inclusi gli algoritmi RC2, RC4, Data Encryption Standard (DES), 3DED e AES.
XCN_NCRYPT_HASH_OPERATION
Valore: 0x2
L'algoritmo può essere usato per l'hashing. Sono inclusi gli algoritmi di hashMD2, MD4, SHA1, SHA256, SHA384, SHA512 MAC e Hash-Based Message Authentication Code (HMAC).
XCN_NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION
Valore: 0x4
L'algoritmo può essere usato per la crittografia della chiave pubblica . Ciò include RSA.
XCN_NCRYPT_SECRET_AGREEMENT_OPERATION
Valore: 0x8
L'algoritmo può essere usato per lo scambio di chiavi. Include l'algoritmo Diffie-Hellman e l'algoritmo ECDH.
XCN_NCRYPT_SIGNATURE_OPERATION
Valore: 0x10
L'algoritmo può essere usato per la firma. Ciò include l'algoritmo RSA, l'algoritmo DSA (Digital Signature Algorithm ) e l'algoritmo ECDSA.
XCN_NCRYPT_RNG_OPERATION
Valore: 0x20
L'algoritmo può essere usato per generare un numero casuale.
XCN_NCRYPT_KEY_DERIVATION_OPERATION
Valore: 0x40
XCN_NCRYPT_ANY_ASYMMETRIC_OPERATION
L'algoritmo può essere usato per la crittografia delle chiavi pubbliche, lo scambio di chiavi e la firma. Si tratta di una combinazione bit per bit-OR delle costanti seguenti:


  • XCN_NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION

  • XCN_NCRYPT_SECRET_AGREEMENT_OPERATION

  • XCN_NCRYPT_SIGNATURE_OPERATION

XCN_NCRYPT_PREFER_SIGNATURE_ONLY_OPERATION
Valore: 0x200000
Gli algoritmi di firma sono preferiti ma non necessari. È possibile scegliere invece un algoritmo di crittografia. Questo viene usato durante la ricerca di informazioni sullo stato del provider di servizi di crittografia (CSP) in base alle funzionalità operative supportate.
XCN_NCRYPT_PREFER_NON_SIGNATURE_OPERATION
Valore: 0x400000
Un algoritmo di crittografia ,ad esempio quello identificato dai flag di XCN_NCRYPT_ANY_ASYMMETRIC_OPERATION o di XCN_NCRYPT_SECRET_AGREEMENT_OPERATION , è preferibile ma non obbligatorio. È possibile scegliere invece un algoritmo di firma. Questa operazione viene usata durante la ricerca di informazioni sullo stato del provider di servizi di rete in base alle funzionalità operative supportate.
XCN_NCRYPT_EXACT_MATCH_OPERATION
Valore: 0x800000
Viene selezionato solo un algoritmo che corrisponde esattamente alle operazioni specificate.
XCN_NCRYPT_PREFERENCE_MASK_OPERATION
Valore: 0xe00000
Usare per mascherare la preferenza dell'operazione dell'algoritmo.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Intestazione certenroll.h

Vedi anche

AlgorithmType

Enumerazione CertEnroll

Interfacce CertEnroll