【问题标题】:The remote certificate is invalid according to the validation procedure. Identity Server根据验证程序,远程证书无效。身份服务器
【发布时间】:2016-12-20 15:44:06
【问题描述】:

在一台计算机上,我有 2 个项目 - 一个客户端应用程序和另一个包含身份服务器和身份管理器的项目。当我在这台计算机上运行客户端站点时,一切正常。我可以登录、注册等。这个项目已经建立并正在运行。

我复制了这些项目并将它们放在另一台计算机上。我已经在 IIS 中设置了站点并创建了一个自签名证书。

当我运行客户端站点并尝试登录时,我得到黄色的 asp.net 错误页面,并显示消息“根据验证过程,远程证书无效”。使用调试器进行单步调试时,我还看到:“底层连接已关闭:无法为 ssl/tls 安全通道建立信任关系”

我认为错误与证书有关,因此在 MMC 中,我确保证书安装在受信任的根证书颁发机构文件夹中。

我做的另一件事是检查项目中的 web.config 文件。 在客户站点中,我有类似的内容:

<oidcClient clientId="codeclienthere" 
            clientSecret="secrethere"
            signingCertificate="keythatmatches_certificate_hash_here"             
            issuerName="https://identityurlhere/issuer"
            ...

然后在身份服务器和身份管理器 web.config 文件中,我有类似的内容:

<appSettings>
    <add key="owin:AppStartup" value="startup" />
    <add key="Issuer" value="identity_url_here/issuer" />
    <add key="Thumbprint" value="‎‎keythatmatches_certificate_hash" />
    <add key="WebClientId" value="codeclienthere"/>
    <add key="WebClientSecret" value="secrethere"/>
    ...

我更改了签名证书和指纹值以匹配证书哈希。对于属性“issuerName”和密钥“Issuer”,我尝试将其保持不变,将其设置为证书的名称并将“CN =”添加到证书的名称中。我不确定这里应该有什么价值。我也不确定我应该检查哪些其他事项。

【问题讨论】:

    标签: asp.net asp.net-mvc-3 web-config thinktecture-ident-server


    【解决方案1】:

    这里的问题是指纹中存在我没有注意到的隐藏字符。我已经粘贴在文本编辑器中进行比较或其他内容,但它们被删除了,所以当我将它们粘贴回配置文件时,它们没有根据需要匹配。

    【讨论】:

      猜你喜欢
      • 2021-06-14
      • 1970-01-01
      • 2011-03-28
      • 2016-11-28
      • 2010-10-21
      • 2013-08-08
      • 2012-07-20
      相关资源
      最近更新 更多