【发布时间】: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