【问题标题】:IIS7 can't find X.509 certificate, even though self-hosting WCF canIIS7 找不到 X.509 证书,即使自托管 WCF 可以
【发布时间】:2011-05-26 17:46:36
【问题描述】:

我正在尝试在 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 服务,没有任何问题。

【问题讨论】:

    标签: wcf iis-7


    【解决方案1】:

    可能是您的服务在 IIS7 中运行的身份无权访问存储。通常这个身份是 ApplicationPoolIdentity。

    【讨论】:

    【解决方案2】:

    您可能选择了错误的 storeLocation。你试过 storeLocation="LocalMachine" 吗?

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

    【讨论】:

    • 我需要将证书放入本地计算机的个人存储中。谢谢大家
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2015-12-03
      • 2011-07-03
      • 1970-01-01
      • 2020-03-04
      • 2010-10-10
      • 2012-07-14
      • 1970-01-01
      • 1970-01-01
      • 2011-10-25
      相关资源
      最近更新 更多