Ssl SSPI Schannel API返回0xAE06或CALG_ECDH_EPHEM的未记录值
我正在使用以下代码查询当前TLS连接: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
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.
现在问题是:
aiExch
可以有哪些其他值此算法仅通过以下方式得到支持: 加密API:下一代 Windows Server 2003和Windows XP:不支持此算法 我不能告诉你还会出现什么