SecPkgContext_ConnectionInfo structure (schannel.h)

La structure SecPkgContext_ConnectionInfo contient des informations de protocole et de chiffrement. Cette structure est utilisée par la fonction InitializeSecurityContext (Schannel).

Cet attribut est pris en charge uniquement par le fournisseur de support de sécurité (SSP) Schannel.

Syntaxe

typedef struct _SecPkgContext_ConnectionInfo {
  DWORD  dwProtocol;
  ALG_ID aiCipher;
  DWORD  dwCipherStrength;
  ALG_ID aiHash;
  DWORD  dwHashStrength;
  ALG_ID aiExch;
  DWORD  dwExchStrength;
} SecPkgContext_ConnectionInfo, *PSecPkgContext_ConnectionInfo;

Membres

dwProtocol

Protocole utilisé pour établir cette connexion. Le tableau suivant décrit les constantes valides pour ce membre.

Valeur Signification
SP_PROT_SSL2_CLIENT
8 (0x8)
Secure Sockets Layer 2.0 côté client. Remplacé par SP_PROT_TLS1_CLIENT.
SP_PROT_SSL2_SERVER
4 (0x4)
Secure Sockets Layer 2.0 côté serveur. Remplacé par SP_PROT_TLS1_SERVER.
SP_PROT_SSL3_CLIENT
32 (0x20)
Secure Sockets Layer 3.0 côté client.
SP_PROT_SSL3_SERVER
16 (0x10)
Secure Sockets Layer 3.0 côté serveur.
SP_PROT_TLS1_0_CLIENT
128 (0x80)
Transport Layer Security 1.0 côté client.
SP_PROT_TLS1_0_SERVER
64 (0x40)
Transport Layer Security 1.0 côté serveur.
SP_PROT_TLS1_1_CLIENT
512 (0x200)
Transport Layer Security 1.1 côté client.
SP_PROT_TLS1_1_SERVER
256 (0x100)
Transport Layer Security 1.1 côté serveur.
SP_PROT_TLS1_2_CLIENT
2048 (0x800)
Transport Layer Security 1.2 côté client.
SP_PROT_TLS1_2_SERVER
1024 (0x400)
Transport Layer Security 1.2 côté serveur.
SP_PROT_TLS1_3_CLIENT
8192 (0x2000)
Transport Layer Security 1.3 côté client.
SP_PROT_TLS1_3_SERVER
4096 (0x1000)
Transport Layer Security 1.3 côté serveur.
SP_PROT_DTLS1_0_CLIENT
131072 (0x00020000)
Datagramme Transport Layer Security 1.0 côté client.
SP_PROT_DTLS1_0_SERVER
65536 (0x00010000)
Datagramme Transport Layer Security 1.0 côté serveur.
SP_PROT_DTLS1_2_CLIENT
524288 (0x00080000)
Datagramme Transport Layer Security 1.2 côté client.
SP_PROT_DTLS1_2_SERVER
262144 (0x00040000)
Datagramme Transport Layer Security 1.2 côté serveur.

aiCipher

Identificateur d’algorithme (ALG_ID) pour le chiffrement de chiffrement en bloc utilisé par cette connexion. Le tableau suivant décrit les constantes valides pour ce membre.

Valeur Signification
CALG_3DES
Algorithme de chiffrement de bloc 3DES
CALG_AES_128
Algorithme de chiffrement AES 128 bits
CALG_AES_256
Algorithme de chiffrement AES 256 bits
CALG_DES
Algorithme de chiffrement DES
CALG_RC2
Algorithme de chiffrement de bloc RC2
CALG_RC4
Algorithme de chiffrement de flux RC4
0 (zéro)
Pas de chiffrement

dwCipherStrength

Puissance du chiffrement de chiffrement en bloc, en bits. Il peut s’agir de l’une des valeurs suivantes : 0, 40, 56, 128, 168 ou 256.

aiHash

ALG_ID indiquant le hachage utilisé pour générer des codes d’authentification des messages (MAC). Le tableau suivant décrit les constantes valides pour ce membre.

Valeur Signification
CALG_MD5
Algorithme de hachage MD5.
CALG_SHA
Algorithme de hachage SHA.

dwHashStrength

Force du hachage, en bits : 128 ou 160.

aiExch

ALG_ID indiquant l’algorithme d’échange de clés utilisé pour générer le secret principal partagé. Le tableau suivant décrit les constantes valides pour ce membre.

Valeur Signification
ALG_TYPE_ANY
Tout algorithme d’échange de clés.
CALG_RSA_KEYX
Échange de clés RSA.
CALG_DH_EPHEM
Diffie-Hellman l’échange de clés.

dwExchStrength

Longueur de clé, en bits. Pour l’échange de clés RSA, ce membre contient généralement l’une des valeurs suivantes : 512, 768, 1024 ou 2048. Pour Diffie-Hellman'échange de clés, ce membre contient généralement l’une des valeurs suivantes : 224, 256, 384 ou 512.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête schannel.h