SecPkgContext_ConnectionInfo struttura (schannel.h)

La struttura SecPkgContext_ConnectionInfo contiene informazioni sul protocollo e sulla crittografia. Questa struttura viene usata dalla funzione InitializeSecurityContext (Schannel).

Questo attributo è supportato solo dal provider di supporto per la sicurezza Schannel.

Sintassi

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;

Members

dwProtocol

Protocollo usato per stabilire questa connessione. Nella tabella seguente vengono descritte le costanti valide per questo membro.

Valore Significato
SP_PROT_SSL2_CLIENT
8 (0x8)
Secure Sockets Layer 2.0 lato client. Sostituita da SP_PROT_TLS1_CLIENT.
SP_PROT_SSL2_SERVER
4 (0x4)
Secure Sockets Layer 2.0 server-side. Sostituito da SP_PROT_TLS1_SERVER.
SP_PROT_SSL3_CLIENT
32 (0x20)
Secure Sockets Layer 3.0 lato client.
SP_PROT_SSL3_SERVER
16 (0x10)
Secure Sockets Layer 3.0 server-side.
SP_PROT_TLS1_0_CLIENT
128 (0x80)
Transport Layer Security 1.0 lato client.
SP_PROT_TLS1_0_SERVER
64 (0x40)
Transport Layer Security 1.0 server-side.
SP_PROT_TLS1_1_CLIENT
512 (0x200)
Transport Layer Security 1.1 client-side.
SP_PROT_TLS1_1_SERVER
256 (0x100)
Transport Layer Security 1.1 lato server.
SP_PROT_TLS1_2_CLIENT
2048 (0x800)
Transport Layer Security 1.2 lato client.
SP_PROT_TLS1_2_SERVER
1024 (0x400)
Transport Layer Security 1.2 lato server.
SP_PROT_TLS1_3_CLIENT
8192 (0x2000)
Transport Layer Security 1.3 lato client.
SP_PROT_TLS1_3_SERVER
4096 (0x1000)
Transport Layer Security 1.3 server-side.
SP_PROT_DTLS1_0_CLIENT
131072 (0x00020000)
Datagram Transport Layer Security 1.0 lato client.
SP_PROT_DTLS1_0_SERVER
65536 (0x00010000)
Datagram Transport Layer Security 1.0 server-side.
SP_PROT_DTLS1_2_CLIENT
524288 (0x00080000)
Datagram Transport Layer Security 1.2 lato client.
SP_PROT_DTLS1_2_SERVER
262144 (0x00040000)
Datagram Transport Layer Security 1.2 server-side.

aiCipher

Identificatore dell'algoritmo (ALG_ID) per la crittografia bulk usata da questa connessione. Nella tabella seguente vengono descritte le costanti valide per questo membro.

Valore Significato
CALG_3DES
Algoritmo di crittografia dei blocchi 3DES
CALG_AES_128
Algoritmo di crittografia AES a 128 bit
CALG_AES_256
Algoritmo di crittografia AES a 256 bit
CALG_DES
Algoritmo di crittografia DES
CALG_RC2
Algoritmo di crittografia a blocchi RC2
CALG_RC4
Algoritmo di crittografia del flusso RC4
0 (Zero)
Nessuna crittografia

dwCipherStrength

Forza della crittografia bulk, in bit. Può essere uno dei valori seguenti: 0, 40, 56, 128, 168 o 256.

aiHash

ALG_ID che indica l'hash usato per la generazione di codici di autenticazione dei messaggi (MACS). Nella tabella seguente vengono descritte le costanti valide per questo membro.

Valore Significato
CALG_MD5
Algoritmo di hash MD5.
CALG_SHA
Algoritmo di hash SHA.

dwHashStrength

Forza dell'hash, in bit: 128 o 160.

aiExch

ALG_ID che indica l'algoritmo di scambio delle chiavi usato per generare il segreto master condiviso. Nella tabella seguente vengono descritte le costanti valide per questo membro.

Valore Significato
ALG_TYPE_ANY
Qualsiasi algoritmo di scambio delle chiavi.
CALG_RSA_KEYX
Scambio di chiavi RSA.
CALG_DH_EPHEM
Diffie-Hellman scambio di chiavi.

dwExchStrength

Lunghezza chiave, in bit. Per lo scambio di chiavi RSA, questo membro in genere conterrà uno dei valori seguenti: 512, 768, 1024 o 2048. Per Diffie-Hellman scambio di chiavi, questo membro in genere conterrà uno dei valori seguenti: 224, 256, 384 o 512.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione schannel.h