根据验证程序,远程证书无效。身份服务器

The remote certificate is invalid according to the validation procedure. Identity Server

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

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

当我 运行 客户端站点并尝试登录时,我收到黄色 asp.net 错误页面,其中包含消息 "The remote certificate is invalid according to the validation procedure"。使用调试器逐步执行时,我还看到:"The underlying connection was closed: could not establish trust relationship for the ssl/tls secure channel"

我认为错误与证书有关,因此在 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=" 添加到证书名称之前。我不确定这里应该有什么价值。我也不确定还应该检查哪些其他内容。

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