使用Microsoft.web.administration通过c#设置“require server name indication”

时间:2014-02-22 23:57:30

标签: c# iis

任何拥有一些代码的人都可以在IIS网站绑定上使用c#代码设置如何设置所需的SNI标志。

我已经知道如何设置绑定:

Binding newBinding = site.Bindings.CreateElement("binding");
newBinding["bindingInformation"] = bindingsString;
newBinding["certificateHash"] = certificate.GetCertHashString();
newBinding["certificateStoreName"] = store.Name;
newBinding["protocol"] = "https";

我不确定设置SNI标志需要设置哪个键。

2 个答案:

答案 0 :(得分:1)

我发现我们只是编辑位于%WinDir%\ System32 \ Inetsrv \ Config

的主机xml ApplicationHost.config文件

并且很容易看到更改设置时更改了哪些标志。 sslFlag =“1”是SNI所需的标志。

  <binding protocol="https" bindingInformation="*:443:www.c1get.net" sslFlags="1" />

答案 1 :(得分:0)

我在applicationHost.config中发现SNI已在Windows Server 2012上将SSL标记更改为3。

<binding protocol="https" bindingInformation="*:443:example.com" sslFlags="3" />
<binding protocol="https" bindingInformation="*:443:www.example.com" sslFlags="3" />
<binding protocol="https" bindingInformation="*:443:example.net" sslFlags="3" />
<binding protocol="https" bindingInformation="*:443:www.example.net" sslFlags="3" />