C# 使用通配符SSL证书的HTTPS上的WCF

C# 使用通配符SSL证书的HTTPS上的WCF,c#,wcf,ssl,C#,Wcf,Ssl,我们是在线浏览器管理工具的开发者。我们的主要软件目前由客户通过互联网托管和访问,每个客户都有自己的主要软件实例和子域。例如,customerA.ourdomain.com指向在虚拟服务器上运行的客户a的服务。customerB.ourdomain.com指向同一个或另一个虚拟服务器上的另一个服务,反之亦然 我们正在切换到Windows Phone和商店应用程序。目前,我们已经开发了WCF服务和WP应用程序。WCF服务在我们的一个虚拟服务器上与我们的主软件并行运行,并且可由测试子域访问。我们使用9

我们是在线浏览器管理工具的开发者。我们的主要软件目前由客户通过互联网托管和访问,每个客户都有自己的主要软件实例和子域。例如,customerA.ourdomain.com指向在虚拟服务器上运行的客户a的服务。customerB.ourdomain.com指向同一个或另一个虚拟服务器上的另一个服务,反之亦然

我们正在切换到Windows Phone和商店应用程序。目前,我们已经开发了WCF服务和WP应用程序。WCF服务在我们的一个虚拟服务器上与我们的主软件并行运行,并且可由测试子域访问。我们使用90天的跟踪证书成功地保护了应用程序和服务之间的连接。此证书包含完整的子域名

我们现在希望通过使用通配符证书来保护我们的WCF服务,这样每个客户和/或子域都会受到保护,我们不需要为每个客户购买证书


这在WCF中是可能的吗?这是以前做过的吗?CN名称将为*.ourdomain.com。客户将通过输入自己的子域名将手机连接到自己的服务。换句话说:WP应用程序应该能够使用相同的证书连接到customerA.ourdomain.com或customerB.ourdomain.com上运行的WCF服务

非常感谢

这在WCF中是可能的吗?这是以前做过的吗

是的,我们已经成功使用来自的通配符证书很多年了

它们提供了一个实用程序来确保证书正确安装

就WCF配置而言,它与您已经拥有的类似

<serviceCredentials>
    <serviceCertificate x509FindType="FindBySubjectName" findValue="*.ourdomain.com" storeLocation="LocalMachine" storeName="My"/>
</serviceCredentials>


在相关说明中,您可以(出于测试目的)通过填充
SubjectAltNames
字段“CN名称将是*.ourdomain.com…”来实现此功能。IETF和CA/B论坛都不赞成将DNS名称放在
CommonName
中。也许最好将DNS名称放在
SubjectAltNames
中“这是否可能与WCF一起使用?”——您可以使用Class 1证书进行测试。他们是一家商业CA,提供免费的1级证书,并且受到大多数桌面和移动浏览器的信任。一旦您使用
test.ourdomain.com
进行测试,您就可以升级到通配符证书。StartCom对2级或更高级别的证书收取费用(吊销证书也收取费用,即使在1级也是如此)。谢谢!我们从GoDaddy购买了一个通配符证书,可以确认它确实有效!真的很棒!很高兴在这个话题上得到一些确认:)