我目前有这个代码,它与服务器建立SSL连接:
using (client = new TcpClient())
{
client.Connect(Hostname, Port);
var callback = new RemoteCertificateValidationCallback(ValidateServerCertificate);
using (stream = new SslStream(client.GetStream(), false, callback))
{
stream.AuthenticateAsClient(Hostname);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我不认为它支持SNI,因为从SNI配置的服务器返回了错误的证书.无论如何使用SNI进行SSL连接?
我正在使用.NET 2(如果需要,愿意升级).我使用的是Windows 7,但是如果可能的话,希望该软件可以在其他平台上运行,例如Windows 2008.
所以总而言之,答案似乎是:不,没有办法让 TLS 连接使用 SNI :-(
我找不到任何与 SNI 建立 TLS 连接的 C# 示例代码。但理论上,应该可以手动创建它,即按照如何实现服务器名称指示(SNI)
然而,这里的尝试失败了:TLS SNI with C#
| 归档时间: |
|
| 查看次数: |
4520 次 |
| 最近记录: |