【发布时间】:2011-10-09 06:57:02
【问题描述】:
我有一个 WCF 服务,只有少数具有已知证书的机器和一个 Web 应用程序才能访问该服务。
对于网络应用,我需要指定用于授权的证书:
<behaviors>
<endpointBehaviors>
<behavior name="ScannerManagerBehavior">
<clientCredentials>
<clientCertificate findValue="MyCertificateName" x509FindType="FindBySubjectName" storeLocation="CurrentUser" storeName="My"/>
<serviceCertificate>
<authentication certificateValidationMode="PeerTrust"/>
</serviceCertificate>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
问题是网络应用程序没有在注册证书的用户帐户下运行。为了在开发模式下绕过它,我将应用程序池更改为在我的用户身份下运行,但这是一个临时的。解决方案。
我应该为“网络服务”用户帐户安装证书(如果可以的话),为证书指定不同的来源,还是有更好的方法来解决这个问题?
谢谢!
【问题讨论】:
标签: c# asp.net wcf certificate