IIS7可以';找不到X.509证书,即使自托管WCF可以

IIS7可以';找不到X.509证书,即使自托管WCF可以,wcf,iis-7,Wcf,Iis 7,我正试图在IIS7中主持WCF服务。在我在web.config文件中指定以下内容之前,一切正常: <serviceCredentials> <serviceCertificate findValue="MyCert" storeLocation="CurrentUser" storeName="My" x

我正试图在IIS7中主持WCF服务。在我在web.config文件中指定以下内容之前,一切正常:

    <serviceCredentials>
      <serviceCertificate findValue="MyCert"
                          storeLocation="CurrentUser"
                          storeName="My"
                          x509FindType="FindBySubjectName" />
    </serviceCredentials> 

然后我得到一个异常System.InvalidOperationException:无法使用以下搜索条件找到X.509证书:StoreName“My”、StoreLocation“CurrentUser”、FindType“FindBySubjectName”、FindValue“MyCert”


顺便说一句,我正在使用这个证书(存储在同一位置)和自托管WCF服务,没有任何问题。

可能是您的服务在IIS7中运行的身份无法访问存储。通常,此标识是ApplicationPoolIdentity。

可能是您的服务在IIS7中运行的标识没有访问存储的权限。通常,此标识为ApplicationPoolIdentity。

您可能选择了错误的存储位置。您是否尝试过storeLocation=“LocalMachine”


如果这不起作用,那么您需要给您的iis工作进程。我在iis6中托管WCF服务时需要这样做,该服务使用用户名和共享证书安全性

您可能选择了错误的存储位置。您是否尝试过storeLocation=“LocalMachine”


如果这不起作用,那么您需要给您的iis工作进程。我在iis6中托管WCF服务时需要这样做,该服务使用用户名和共享证书安全性

尝试为应用程序池正在运行的帐户授予证书私钥的读取权限。在证书MMC管理单元中,找到证书,右键单击,管理私钥…

尝试为应用程序池运行的帐户授予证书私钥的读取权限。在证书MMC管理单元中,找到证书,右键单击,管理私钥…

这可能会有帮助这可能会有帮助我需要将证书放入本地计算机的个人存储中。谢谢,我需要把证书放在本地计算机的个人存储中。谢谢大家