Specifica delle crittografie Schannel e dei punti di forza della crittografia

Per gli scambi di informazioni client/server, il comportamento predefinito di Schannel consiste nel negoziare la crittografia migliore disponibile in base a quelle abilitate nel Registro di sistema. Le applicazioni possono limitare le crittografie e i punti di forza della crittografia consentiti per una connessione usando i membri della struttura SCHANNEL_CRED come indicato di seguito:

  1. Impostare il membro palgSupportedAlgs su una matrice di ALG_ID contenente le crittografie consentite. Per altre informazioni, vedere ID di crittografia.
  2. Impostare i membri dwMinimumCipherStrength e/o dwMaximumCipherStrength sui punti di forza minimo e massimo consentiti. Per altre informazioni, vedere Valori di forza crittografia.
  3. Passare la struttura SCHANNEL_CRED (tramite il parametro pAuthData ) in una chiamata alla funzione AcquireCredentialsHandle . Questa funzione restituisce un handle di credenziali.
  4. Specificare l'handle delle credenziali in una chiamata alla funzione InitializeSecurityContext (Generale) sul lato client o alla funzione AcceptSecurityContext (General) lato server.

ID di crittografia

Il comportamento predefinito di Schannel consiste nel richiedere la crittografia migliore disponibile in base alle voci Schannel nel Registro di sistema. Non modificare il registro di sistema; le impostazioni contenute per Schannel vengono usate a livello globale e influiranno su altre applicazioni. Per l'elenco delle costanti valide, vedere ALG_ID.

Valori di attendibilità della crittografia

Questa funzionalità Schannel viene in genere usata per limitare una connessione a crittografie nazionali o di livello di esportazione. I punti di forza nazionali includono 56 e 128 bit, mentre la forza di esportazione è limitata a 56 bit. Se si impostano i valori minimo e massimo su zero Schannel, verranno usati tutti i punti di forza della crittografia disponibili.

Usando TLS o SSL 3.0, impostare il membro dwMinimumCipherStrength su -1 (uno negativo) per abilitare le suite di crittografia "Crittografia Null", che forniscono firme ma senza crittografia. Se dwMaximumCipherStrength è impostato anche su -1, verranno abilitate solo le suite di crittografia Null. Questa impostazione è destinata solo allo sviluppo e non deve essere usata nei sistemi di produzione.

Esecuzione di query sulle informazioni di crittografia

Per recuperare le impostazioni di complessità della crittografia per una credenziale, chiamare la funzione QueryCredentialsAttributes e specificare SECPKG_ATTR_CIPHER_STRENGTHS come parametro ulAttribute .

Per recuperare l'elenco degli algoritmi supportati per una credenziale, chiamare QueryCredentialsAttributes con SECPKG_ATTR_SUPPORTED_ALGS come parametro ulAttribute .