C#的SNI证书支持

时间:2018-07-05 12:44:13

标签: c# ssl sni

我想使用C#通过SSL证书(Windows10 + IIS:10.0.17)支持SNI。绑定可以通过以下方式添加:

website.Bindings.Add(szBinding, hashBytes, sslStore);

如何在新添加的绑定上应用SNI?以下代码无效:

website.Bindings[0].SslFlags = SslFlags.Sni;

问题Programmatically add binding on IIS 8 with SNI option解决了该问题,但问题正如我之前描述的那样,使用此标志“ SslFlags.Sni”无效,即,当我在IIS中检查绑定时,仍未选中SNI Checkbox。意味着,设置此标志不会影响IIS中的绑定。我在Windows 10上使用IIS v.10.0.17。

我想念什么?任何好的文章/帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

绑定值有问题。我使用的是ip:port:而不是ip:port:hostname。将绑定名称与主机名和SNI标志一起使用可解决此问题。

此代码将添加启用了SNI的绑定:

var szBinding = "IP:PORT:HOSTNAME";
website.Bindings.Add(szBinding, hashBytes, install.SslStore, SslFlags.Sni);