Asp.net mvc ID4175:IssuerNameRegistry未识别安全令牌的颁发者

Asp.net mvc ID4175:IssuerNameRegistry未识别安全令牌的颁发者,asp.net-mvc,web-config,certificate,wif,Asp.net Mvc,Web Config,Certificate,Wif,我正试图在开发环境中实现一个简单的STS网站和我的MVC应用程序。我能在本地机器上正常工作。我将导航到我的MVC应用程序,跳转到STS web应用程序,登录,然后重定向回我的MVC应用程序。顺便说一下,这不是在使用AFD 当我将其迁移到我的开发环境中时,我看到了类似的活动,但当我登录时,出现了下面的错误。我已经检查了大约20次,我在MVC应用程序中的指纹与证书完全相同 (登录正常,因为在身份验证成功之前,我不会被重定向。) 猜猜看 我收到的错误消息: ID4175:IssuerNameRegis

我正试图在开发环境中实现一个简单的STS网站和我的MVC应用程序。我能在本地机器上正常工作。我将导航到我的MVC应用程序,跳转到STS web应用程序,登录,然后重定向回我的MVC应用程序。顺便说一下,这不是在使用AFD

当我将其迁移到我的开发环境中时,我看到了类似的活动,但当我登录时,出现了下面的错误。我已经检查了大约20次,我在MVC应用程序中的指纹与证书完全相同

(登录正常,因为在身份验证成功之前,我不会被重定向。)

猜猜看

我收到的错误消息:

ID4175:IssuerNameRegistry无法识别安全令牌的颁发者。要接受来自此颁发者的安全令牌,请配置IssuerNameRegistry以返回此颁发者的有效名称

STS网站的web.config:

<appSettings>
<add key="IssuerName" value="STSTestCert"/>
<add key="SigningCertificateName" value="CN=STSTestCert"/>
<add key="EncryptingCertificateName" value=""/>
  </appSettings>

MVC应用程序中的web.config:

<microsoft.identityModel>
<service>
  <audienceUris>
    <add value="http://localhost/" />
  </audienceUris>
  <federatedAuthentication>
    <wsFederation passiveRedirectEnabled="true" issuer="http://localhost:57543/mySTS/" realm="http://localhost/" requireHttps="false" />
    <cookieHandler requireSsl="false" />
  </federatedAuthentication>
  <applicationService>
    <claimTypeRequired>
      <!--Following are the claims offered by STS 'http://localhost:57543/mySTS/'. Add or uncomment claims that you require by your application and then update the federation metadata of this application.-->
      <claimType type="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" optional="true" />
      <claimType type="http://schemas.microsoft.com/ws/2008/06/identity/claims/role" optional="true" />
    </claimTypeRequired>
  </applicationService>
  <issuerNameRegistry type="Microsoft.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
        <trustedIssuers>
      <add thumbprint="‎11111" name="http://localhost:57543/mySTS/" />
        </trustedIssuers>
      </issuerNameRegistry>
    </service>
  </microsoft.identityModel>


复制指纹会添加隐藏的unicode字符。试着输入。

正如MJCoffman提到的,这很可能是因为你复制了带有隐藏字符的指纹

在我的例子中,问题还在于复制并粘贴指纹会添加一些常规文本编辑器无法显示的字符。我发现以下说明对于删除特殊字符非常有用(请参见第4页)

使用Visual Studio执行以下操作以消除特殊角色:

  • 关闭web.config
  • 右键单击它并使用二进制编辑器打开它
  • 找到指纹的位置并删除其他字符(不是数字的所有字符,通常是点)
  • 保存并重试,它应该可以工作

  • 你解决过这个问题吗?我现在也犯了同样的错误。和马特一样的问题。您曾经解决过这个问题吗?在给定的链接中:“当使用证书管理单元和证书GUI时,不要从Richedit控件复制出现在证书拇指之前的“额外空间”。“这太多了,我希望我能早点发现这一点,谢谢!