IIS 在哪里存储有关每个绑定的 SSL 证书协议映射的信息?

Posted

技术标签:

【中文标题】IIS 在哪里存储有关每个绑定的 SSL 证书协议映射的信息?【英文标题】:Where does IIS store information about SSL certificate protocol mapping for each binding? 【发布时间】:2017-03-04 08:38:20 【问题描述】:

我了解 IIS 将绑定信息存储在 applicationhost.config 文件中。但是,在该文件中,它不会存储此类信息,这些信息会告诉您哪个 SSL 证书绑定到特定站点的哪个绑定。

我有一个名为 example.com 的站点,它有几个 SSL 绑定。我没有通配符 SSL 证书,只有与每个 subsdomainxxx.example.com 对应的 SAN 证书

现在的问题是一一设置绑定既麻烦又困难。 有没有办法为给定站点的所有 SSL 协议绑定编程设置特定证书?

最好使用命令提示符。如果我需要在某些配置文件(例如 applicationhost.config)中编辑这些映射,以便为我的服务器上的更多站点进行 SSL 绑定,该过程也会变得更加容易。

感谢任何帮助。

【问题讨论】:

位置是HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\Ssl*BindingInfo,要设置新证书,请查看:netsh http add sslcert hostnameport=www.my.site:443 certhash=$certthumbprint appid=someguid certstorename=MY 那里有很多示例。 Jexus Manager 是开源的,你可以从它的绑定相关部分找到相关代码,jexusmanager.com 【参考方案1】:

仅作记录,请查看以下文章。有很多不同的方法可以做到这一点。

https://docs.microsoft.com/en-us/iis/manage/configuring-security/how-to-set-up-ssl-on-iis

您可以使用C:\Windows\System32\inetsrv\Microsoft.Web.Administration.dll 库以编程方式完成此操作,该库还具有 .NET 包装器:https://www.nuget.org/packages/Microsoft.Web.Administration/

【讨论】:

以上是关于IIS 在哪里存储有关每个绑定的 SSL 证书协议映射的信息?的主要内容,如果未能解决你的问题,请参考以下文章

IIS开启https协议

OpenSSL解决ArcGIS软件部署的证书问题(三)--ArcGIS绑定证书

网站绿锁里面显示的ssl证书 在iis服务器证书列表里面找不到,请问这个证书是在哪儿绑定的

iis绑定ssl证书 只提供了crt文件无Key文件怎么办?

以编程方式将证书导入 IIS?

在 InstallShield 安装期间导入 SSL 证书后,无法以编程方式将其与 IIS 中的绑定相关联