我正在爲使用身份服務器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。如果有人可以請在這個問題上給點光明,我很欣賞它。
問候, 安德烈