【问题标题】:How to Enable HTTPS in IIS using C#?如何使用 C# 在 IIS 中启用 HTTPS?
【发布时间】:2018-09-17 11:58:00
【问题描述】:

以编程方式 (C#) 我想在 https 中配置 IIS 站点。我创建了一个自签名证书并手动配置了站点。但我想使用 C# 自动化这个过程。我在任何地方都找不到合适的解决方案。有人可以帮我解决这个问题吗?

【问题讨论】:

  • 我知道如何以编程方式在 IIS 中创建\配置站点。但我想用我的自签名证书配置一个安全站点 (https)。这就是我要找的。​​span>
  • 几种方法可能有效,从 C# 调用 PowerShell 脚本,调用 Microsoft.Web.Administration。所以还是你应该向像谷歌这样的搜索引擎学习。操作方法/教程不在此处。
  • 只能在安装了 PowerShell 的机器上运行 PowerShell 脚本。所以我正在寻找 C# 代码。

标签: c# iis https ssl-certificate self-signed


【解决方案1】:

终于,我得到了解决方案。这是我想要的代码。

ServerManager serverManager = new ServerManager();
Site mySite = serverManager.Sites.Add(siteName.ToString(), "http", "*:80:" + domainName, physicalPath);

X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);                
store.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadWrite);                
X509Certificate2 certificate = new X509Certificate2("SSL server certificate", "password", X509KeyStorageFlags.Exportable);                
store.Add(certificate);      

var binding = mySite.Bindings.Add("*:443:" + domainName, certificate.GetCertHash(), "My");                
binding.Protocol = "https";                
mySite.ApplicationDefaults.ApplicationPoolName = siteName;                
serverManager.CommitChanges();                
store.Close();

【讨论】:

    猜你喜欢
    • 2019-04-16
    • 2013-04-15
    • 2012-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-09
    • 2018-11-06
    • 2023-04-10
    相关资源
    最近更新 更多