estrutura SecPkgContext_ConnectionInfo (schannel.h)

A estrutura SecPkgContext_ConnectionInfo contém informações de protocolo e criptografia. Essa estrutura é usada pela função InitializeSecurityContext (Schannel ).

Esse atributo tem suporte apenas pelo SSP (provedor de suporte de segurança ) do Schannel.

Sintaxe

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;

Membros

dwProtocol

Protocolo usado para estabelecer essa conexão. A tabela a seguir descreve as constantes válidas para esse membro.

Valor Significado
SP_PROT_SSL2_CLIENT
8 (0x8)
Secure Sockets Layer 2.0 client-side. Substituído por SP_PROT_TLS1_CLIENT.
SP_PROT_SSL2_SERVER
4 (0x4)
Secure Sockets Layer 2.0 server-side. Substituído por SP_PROT_TLS1_SERVER.
SP_PROT_SSL3_CLIENT
32 (0x20)
Secure Sockets Layer 3.0 client-side.
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 client-side.
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 lado do cliente.
SP_PROT_TLS1_1_SERVER
256 (0x100)
Transport Layer Security 1.1 server-side.
SP_PROT_TLS1_2_CLIENT
2048 (0x800)
Transport Layer Security 1.2 client-side.
SP_PROT_TLS1_2_SERVER
1024 (0x400)
Transport Layer Security 1.2 server-side.
SP_PROT_TLS1_3_CLIENT
8192 (0x2000)
Transport Layer Security 1.3 client-side.
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 client-side.
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 client-side.
SP_PROT_DTLS1_2_SERVER
262144 (0x00040000)
Datagram Transport Layer Security 1.2 server-side.

aiCipher

Identificador de algoritmo (ALG_ID) para a criptografia em massa usada por essa conexão. A tabela a seguir descreve as constantes válidas para esse membro.

Valor Significado
CALG_3DES
Algoritmo de criptografia de bloco 3DES
CALG_AES_128
Algoritmo de criptografia de 128 bits do AES
CALG_AES_256
Algoritmo de criptografia AES de 256 bits
CALG_DES
Algoritmo de criptografia DES
CALG_RC2
Algoritmo de criptografia de bloco RC2
CALG_RC4
Algoritmo de criptografia de fluxo RC4
0 (Zero)
Sem criptografia

dwCipherStrength

Força da codificação de criptografia em massa, em bits. Pode ser um dos seguintes valores: 0, 40, 56, 128, 168 ou 256.

aiHash

ALG_ID indicando o hash usado para gerar MACs ( Códigos de Autenticação de Mensagem ). A tabela a seguir descreve as constantes válidas para esse membro.

Valor Significado
CALG_MD5
Algoritmo de hash MD5.
CALG_SHA
Algoritmo de hash SHA.

dwHashStrength

Força do hash, em bits: 128 ou 160.

aiExch

ALG_ID indicando o algoritmo de troca de chaves usado para gerar o segredo de master compartilhado. A tabela a seguir descreve as constantes válidas para esse membro.

Valor Significado
CALG_RSA_KEYX
Troca de chaves RSA.
CALG_DH_EPHEM
Diffie-Hellman troca de chaves.

dwExchStrength

Comprimento da chave, em bits. Para a troca de chaves RSA, esse membro normalmente conterá um dos seguintes valores: 512, 768, 1024 ou 2048. Para Diffie-Hellman troca de chaves, esse membro normalmente conterá um dos seguintes valores: 224, 256, 384 ou 512.

Requisitos

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