【问题标题】:How do you use Thinktecture IdentityServer 3 with Certificate setup您如何将 Thinktecture IdentityServer 3 与证书设置一起使用
【发布时间】:2016-02-24 13:45:35
【问题描述】:

我想使用 Thinktecture IdentityServer 3 向 ASP.NET 站点提供 STS,但我不知道如何设置证书。

如何使用 SelfHost(InMem with WS-Fed)Thinktecture Identity Server 3 作为本地 IIS 站点的 STS?

我遇到的问题如下:

我在 VS Development Server 中使用过这个客户端: https://github.com/IdentityServer/IdentityServer3.Samples/tree/master/source/Clients/MvcOwinWsFederation

使用 SelfHost(InMem with WS-Fed): IdentityServer3.Samples/tree/master/source/SelfHost%20(InMem%20with%20WS-Fed)

一切正常、连接、验证和显示声明。

但是当我将客户端发布到名为 WSFedClient 的本地 IIS 站点并尝试针对同一个自托管 STS 进行身份验证时, 但我收到此错误:

"远程证书根据验证无效 程序。”

我遵循了这个: https://github.com/IdentityServer/IdentityServer3/issues/553

...但我仍然对我需要做什么感到困惑。

【问题讨论】:

  • 更新了一点,如果需要更多请告诉我。你经常使用这个 Identity Server 吗?
  • 一点也不……看起来这只是一个标准的证书问题;证书验证失败,可能是因为 CA 或根证书不在机器的受信任证书存储中。有意义吗?
  • 我相信你是对的。不幸的是,这是我不明白的部分。我需要制作什么样的证书,如何制作,然后在哪里安装?
  • 添加了一个答案——希望对您有所帮助。

标签: iis certificate thinktecture-ident-server identityserver3 thinktecture


【解决方案1】:

尝试将您的证书安装到“受信任的根证书颁发机构”存储中。

1) 启动 mmc。在开始菜单中,输入 MMC.exe 并回车。

2) 按 control-M 添加一个模块。选择证书,然后单击添加。

3) 选择计算机帐户,然后选择下一步,选择本地计算机,然后点击完成。然后点击确定。

4) 展开证书。右键单击“受信任的根证书颁发机构”,然后选择“所有任务”,然后选择“导入...”

5) 浏览到证书并选择它。您可能需要选中该框以允许将其导出,这意味着您可能必须输入密码,如果您创建了密码,您应该知道该密码。

【讨论】:

  • 谢谢,非常感谢。我试了一下:在 IIS 中制作服务器证书,将其添加到 Personal、Trusted Root CA 和 Trusted People。关闭 mmc,重新启动 IIS 并再次尝试......不幸的是相同的结果:“根据验证程序,远程证书无效”
【解决方案2】:

检查以下有关您的证书的事项。很可能是下面的第 2 点导致此错误。

  1. 检查 CA 的根证书是否存在于受信任的根证书颁发机构存储中。
  2. 检查证书的“颁发给”字段是否与身份服务器端点 url 的主机名匹配。
  3. 检查证书的到期日期。
  4. 检查证书是否未被 CA 吊销。

【讨论】:

  • 谢谢.... Identity Server 正在收听localhost:44333/core。那是 url 端点吗?该证书称为 idsrv3test.pfx 并颁发给 idsrv3test 并由 DevRoot 颁发。我不知道这意味着什么,为什么会这样,或者它需要是什么,但我很想得到启发。再次感谢。
  • idsrv3test.pfx 是令牌签名证书。它与 https 证书不同(尽管您可以对两个任务使用相同的证书)您收到此错误可能是因为您没有指向 https 端点或在该端点配置的 https 证书无效。您应该能够使用 IIS 独立配置此端点的有效证书,而无需使用令牌签名证书。
【解决方案3】:

看起来您还必须为回调 URI 配置 SSL 端点。那就是您的示例中的 WSFedClient。

【讨论】:

  • 在 Visual Studio 开发服务器中,您应该已标记“启用 SSL = true”。然后它将自动为站点配置有效的 SSL 证书。但是在本地 IIS 中你必须自己做。
猜你喜欢
  • 2014-12-26
  • 2014-04-04
  • 2014-04-22
  • 2014-08-01
  • 2014-09-25
  • 2015-10-17
  • 2015-11-14
  • 2015-03-18
  • 2021-06-30
相关资源
最近更新 更多