我正在尝试使用OWin和Thinktecture Identity Server设置SSO,但我没有运气获得SSL证书。至少我认为这是问题所在。当我在视觉工作室时,一切正常,但如果我尝试在我的机器上使用IIS,它会给我错误“远程证书根据验证程序无效”。我也尝试使用IIS作为客户端将在visual studio中运行的实例视为令牌权限但我仍然得到相同的错误。任何人对我做错了什么有任何想法?
在我的情况下,我只是尝试处理样本(对于ID3v2)并在本地运行证书错误。由于一些样本甚至通过owin进行自我托管,我甚至不确定它在哪里获得主机端的证书?
无论如何,我的修复是将证书复制到受信任的根:
完成。请享用。
花了很多时间给我后,解决方案非常简单
然后打开我的解决方案(在我运行身份服务器之后)点击运行视觉工作室问我是否要生成新证书给iis express(ssl),我点击了是然后它开始正常工作:)
您需要将IIS正在使用的任何证书添加到本地计算机上的“受信任的根证书颁发机构”存储中。
根据作者提供的readme file in examples,将证书添加到Trusted People商店应该足够了。
在生产方案中,它应该更好,因为根存储是针对CA的,当您添加某些内容时,该权限不仅受信任,而且由其签名的任何证书都会自动受信任。
您可以从microsoft reference查看更多详细信息。 2商店简介: Root:受信任的根证书颁发机构(CA)的证书存储区。 TrustedPeople:直接信任的人员和资源的证书存储。
P.S:我测试了它的工作原理。在我的场景中,我在机器A上有IS,在机器A和机器上使用IS有一组Web应用程序。机器B上的IIS证书与A和IS中使用的证书不同,但我刚将它添加到机器B上受信任的人员存储和“证书错误”消失。
有时它虽然完成了上述设置并且您已将URL设为“https://localhost”,但仍然无效,而是将URL设为“https://MachineName”。即机器名称应与证书的“问题”值相匹配
对于.Net Core,将TrustServerCertificate = False更改为TrustServerCertificate = True,这将解决您的问题,就像我在下面所说的那样。
"DataConnect": "Server=tcp:127.0.0.1,1433;Initial Catalog=dbName;Persist Security Info=False;User ID=username;Password=password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;"