我正在尝试将SNI添加到使用Microsoft SDK的Schannel API for TLS的客户端程序(C/C++)中。
我到处搜索,但没有找到任何关于Schannel如何支持SNI扩展的文档。我查找了AcquireCredentialsHandle()和InitializeSecurityContext()的文档,但没有成功。
那么,有没有人可以帮我写一些示例代码呢?
发布于 2015-09-05 06:32:06
SNI被指定为part of the ClientHello,它由InitializeSecurityContext()生成。具体而言,Schannel使用该函数的第三个参数以及SNI进行证书验证;但并不是所有版本的Windows都支持TLS扩展(包括SNI)。
TLS扩展最初是在Internet Explorer 7 beta 3 on Windows Vista中引入的。另外,即使你的操作系统支持它,TLS也很可能是turned off, by default。
有一个从客户端和服务器端显示SNI的working example on CodeProject。
https://stackoverflow.com/questions/30165472
复制相似问题