Поделиться через


структура SecPkgContext_ConnectionInfo (schannel.h)

Структура SecPkgContext_ConnectionInfo содержит сведения о протоколе и шифре. Эта структура используется функцией InitializeSecurityContext (Schannel).

Этот атрибут поддерживается только поставщиком поддержки безопасности (SSP) Schannel.

Синтаксис

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;

Члены

dwProtocol

Протокол, используемый для установки этого подключения. В следующей таблице описаны константы, допустимые для этого элемента.

Значение Значение
SP_PROT_SSL2_CLIENT
8 (0x8)
Защита сокетов уровня 2.0 на стороне клиента. Заменено SP_PROT_TLS1_CLIENT.
SP_PROT_SSL2_SERVER
4 (0x4)
Secure Sockets Layer 2.0 на стороне сервера. Заменено SP_PROT_TLS1_SERVER.
SP_PROT_SSL3_CLIENT
32 (0x20)
Защита сокетов уровня 3.0 на стороне клиента.
SP_PROT_SSL3_SERVER
16 (0x10)
Secure Sockets Layer 3.0 на стороне сервера.
SP_PROT_TLS1_0_CLIENT
128 (0x80)
Безопасность транспортного уровня 1.0 на стороне клиента.
SP_PROT_TLS1_0_SERVER
64 (0x40)
Безопасность транспортного уровня 1.0 на стороне сервера.
SP_PROT_TLS1_1_CLIENT
512 (0x200)
Безопасность транспортного уровня 1.1 на стороне клиента.
SP_PROT_TLS1_1_SERVER
256 (0x100)
Безопасность транспортного уровня 1.1 на стороне сервера.
SP_PROT_TLS1_2_CLIENT
2048 (0x800)
Безопасность транспортного уровня 1.2 на стороне клиента.
SP_PROT_TLS1_2_SERVER
1024 (0x400)
Безопасность транспортного уровня 1.2 на стороне сервера.
SP_PROT_TLS1_3_CLIENT
8192 (0x2000)
Безопасность транспортного уровня 1.3 на стороне клиента.
SP_PROT_TLS1_3_SERVER
4096 (0x1000)
Безопасность транспортного уровня 1.3 на стороне сервера.
SP_PROT_DTLS1_0_CLIENT
131072 (0x00020000)
Datagram Transport Layer Security 1.0 на стороне клиента.
SP_PROT_DTLS1_0_SERVER
65536 (0x00010000)
Безопасность транспортного уровня datagram 1.0 на стороне сервера.
SP_PROT_DTLS1_2_CLIENT
524288 (0x00080000)
Datagram Transport Layer Security 1.2 на стороне клиента.
SP_PROT_DTLS1_2_SERVER
262144 (0x00040000)
Datagram Transport Layer Security 1.2 на стороне сервера.

aiCipher

Идентификатор алгоритма (ALG_ID) для шифра массового шифрования, используемого этим подключением. В следующей таблице описаны константы, допустимые для этого элемента.

Значение Значение
CALG_3DES
Алгоритм блочного шифрования 3DES
CALG_AES_128
128-разрядный алгоритм шифрования AES
CALG_AES_256
256-разрядный алгоритм шифрования AES
CALG_DES
Алгоритм шифрования DES
CALG_RC2
Алгоритм блочного шифрования RC2
CALG_RC4
Алгоритм шифрования потока RC4
0 (ноль)
Отсутствие шифрования

dwCipherStrength

Надежность шифра массового шифрования в битах. Может иметь одно из следующих значений: 0, 40, 56, 128, 168 или 256.

aiHash

ALG_ID , указывающий хэш , используемый для создания кодов проверки подлинности сообщений (MAC). В следующей таблице описаны константы, допустимые для этого элемента.

Значение Значение
CALG_MD5
Алгоритм хэширования MD5.
CALG_SHA
Алгоритм хэширования SHA.

dwHashStrength

Сила хэша в битах: 128 или 160.

aiExch

ALG_ID , указывающий алгоритм обмена ключами , используемый для создания общего главного секрета. В следующей таблице описаны константы, допустимые для этого элемента.

Значение Значение
ALG_TYPE_ANY
Любой алгоритм обмена ключами.
CALG_RSA_KEYX
Обмен ключами RSA.
CALG_DH_EPHEM
Diffie-Hellman обмен ключами.

dwExchStrength

Длина ключа в битах. Для обмена ключами RSA этот член обычно содержит одно из следующих значений: 512, 768, 1024 или 2048. Для обмена ключами Diffie-Hellman этот элемент обычно содержит одно из следующих значений: 224, 256, 384 или 512.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть schannel.h