我正在为使用身份服务器3进行身份验证的应用程序设置测试虚拟机。它已经建立并在我的开发机器上工作,但我们正在将其转移到云中以便于测试,并且我遇到了证书问题。基本上我的设置如下: 我使用随示例提供的idsrv3test证书。身份服务器启动正在像这样加载它们:在蔚蓝的虚拟机上设置身份服务器3证书
var options = new IdentityServerOptions
{
Factory = idServerServiceFactory,
SiteName = "Strata Practice Management",
SigningCertificate = LoadCertificate()
}
X509Certificate2 LoadCertificate()
{
return new X509Certificate2([email protected]"{AppDomain.CurrentDomain.BaseDirectory}\Certificates\idsrv3test.pfx", "idsrv3test");
}
这基本上是示例中提供的示例代码。 现在,在同一台服务器上,有一个连接到身份服务器的MVC应用程序。两者都托管在iis上。当我在开发箱上运行它们时,一切正常。我使用默认网站/ IdentityServer路径将我的身份服务器项目发布到了azure vm。相同的测试证书已上传到服务器。当我然后尝试去https://localhost/IdentityServer/identity(来自同一虚拟机)时,我得到以下错误本网站提供的安全证书是针对不同网站的地址发布的。 IE浏览器没有提供太多的细节,但我怀疑问题是idsrv3test的主题,它不符合正确的机器url。当我看到证书的主题是简单地说idsrv3test。
所以问题是: - 为什么当我在我的本地开发计算机上加载服务器时,证书与iis express一起工作? - 我该怎么做才能使其在虚拟机上工作?我假设我需要创建一个具有正确主题的新证书,它将对应于服务器地址并加载,而不是idsrv3test。我会怎么做?我假设,因为这是一个测试框,我不需要购买商业证书,只需制作我自己的,对吧?什么应该是新证书的主题?它应该只是https://localhost?或只是本地主机?或我的虚拟机的完整域名?
我有很多问题,但在证书安全性方面,我是一个总的noob。如果有人可以请在这个问题上给点光明,我很欣赏它。
问候, 安德烈