Ssl SSPI Schannel API返回0xAE06或CALG_ECDH_EPHEM的未记录值

Ssl SSPI Schannel API返回0xAE06或CALG_ECDH_EPHEM的未记录值,ssl,winapi,sspi,schannel,Ssl,Winapi,Sspi,Schannel,我正在使用以下代码查询当前TLS连接: SecPkgContext_ConnectionInfo data; QueryContextAttributes(&myHandle, SECPKG_ATTR_CONNECTION_INFO, &data); 它返回所有字段的正确结构: typedef struct _SecPkgContext_ConnectionInfo { DWORD dwProtocol; ALG_ID aiCipher; DWORD dwCip

我正在使用以下代码查询当前TLS连接:

SecPkgContext_ConnectionInfo data;
QueryContextAttributes(&myHandle, SECPKG_ATTR_CONNECTION_INFO, &data);
它返回所有字段的正确结构:

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;
根据MSDN文件:

但是,字段
aiExch
的值为0xAE06,我猜(从wincrypt.h文件)被定义为
CALG\u ECDH\u EPHEM
,但文档中只提到了两个可能的值:

CALG_RSA_KEYX 0xA400   // RSA key exchange
CALG_DH_EPHEM 0xAA02   // Diffie-Hellman key exchange.
现在问题是:

  • 0xAE06/CALG_ECDH_EPHEM的含义是什么
  • 字段
    aiExch
    可以有哪些其他值
  • 发件人:

    CALG_ECDH_EPHEM|0x0000ae06|Ephemeral椭圆曲线Diffie-Hellman密钥交换算法

    [!注意]
    此算法仅通过以下方式得到支持: 加密API:下一代

    Windows Server 2003和Windows XP:不支持此算法

    我不能告诉你还会出现什么