【问题标题】:Cannot find the X.509 Certificate using the following search criteria:无法使用以下搜索条件找到 X.509 证书:
【发布时间】:2008-10-19 06:27:52
【问题描述】:

我收到这条消息:

使用以下搜索条件找不到 X.509 证书:StoreName 'My'、StoreLocation 'LocalMachine'、FindType 'FindBySubjectDistinguishedName'、FindValue 'CN=HighBall'。

我的 web.config 设置如下所示;

身份验证设置为...

<authentication mode="Windows" />

为 wsHttpBinging 设置绑定

并且我的服务行为是这样设置的......

<behavior name="HighBall.Services.ServiceVerificationBehavior">
  <serviceAuthorization principalPermissionMode="UseAspNetRoles"
        roleProviderName="HighBallRoleProvider" />
  <serviceMetadata httpGetEnabled="true" />
  <serviceDebug includeExceptionDetailInFaults="true" />
  <serviceCredentials>
    <serviceCertificate findValue="CN=HighBall" />
    <userNameAuthentication userNamePasswordValidationMode="MembershipProvider"
        membershipProviderName="HighBallMembershipProvider" />
  </serviceCredentials>
</behavior>

我试图找出一种方法来验证证书的存储内容、方式和位置,但不确定如何执行此操作。如果有人对此错误消息有任何想法,我将不胜感激。

【问题讨论】:

    标签: wcf certificate x509 x509securitytokenmanager


    【解决方案1】:

    请记住,ASP.NET 以不同的用户身份运行。可能需要为其分配对证书的访问权限。

    【讨论】:

    • 根据我的经验,只有将证书安装到商店的用户才有权访问它们。然后 ASP.NET 在尝试访问它时看不到证书。您需要使用诸如 winhttpcertcfg 之类的工具来授予 ASP.NET 用户访问权限。
    • 这正是我的问题。我必须将证书添加到本地计算机而不是当前用户。解决方案链接:technet.microsoft.com/en-us/library/… 在“将证书添加到本地计算机的受信任的根证书颁发机构存储”下
    【解决方案2】:

    查看有关您询问的工具的其他帖子。验证您的“我的”存储并检查 CN="HighBall"。我猜你的 CN 不只是“HighBall”,可能它有一个顶级域。我认为查找证书序列号更容易,我认为它比规范名称更快且容易出错。

    问候,

    维克多

    【讨论】:

      【解决方案3】:

      尝试使用证书管理器(带有 MMC)查看已安装的证书。 XP 使用说明:manage certificates for a computer,可能与 Vista 和 7 类似。

      我遇到了无法找到 x509 证书的服务问题,但通过使用证书管理器,我发现 Windows 资源管理器中的“安装 PFX”命令根本没有安装证书!通过从证书管理器导入证书已解决此问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-12-12
        • 2014-01-03
        • 2012-10-26
        • 2010-10-10
        • 1970-01-01
        • 2011-10-25
        • 2011-07-03
        相关资源
        最近更新 更多