認証にIDサーバ3を使用しているアプリケーションのテストVMを設定しています。それはすでにセットアップされていて、私の開発マシンで動作していますが、テストを容易にするためにクラウドに移動しています。証明書に問題があります。基本的に私のセットアップは以下の通りです: サンプルと共に提供されるidsrv3test証明書を使用しています。 IDサーバーの起動時に次のようにロードされます。azure VMでIDサーバ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");
}
これは基本的にこの例で提供されているサンプルコードです。 同じサーバーに、IDサーバーに接続するMVCアプリケーションがあります。どちらもiisでホストされています。私が私のdevの箱にそれらを実行すると、すべてうまく動作しています。 Default Web Site/IdentityServerのパスを使用してAzure VMにIDサーバープロジェクトを公開しました。同じテスト証明書がサーバーにアップロードされました。その後、私はhttps://localhost/IdentityServer/identity(同じVMから)に行きますが、私は次のエラーを受け取ります。このウェブサイトが提示したセキュリティ証明書は、別のウェブサイトのアドレスに対して発行されました。 IEは詳細はあまり詳しく述べていませんが、idsrv3testの問題は適切なマシンのURLに対応していないと思われます。私が証明書の主題を見ると、単にidsrv3testと書かれています。
質問があります: - 私のローカルDevコンピュータにサーバをロードすると、証明書がiis expressと一緒に動作するのはなぜですか? - VMで動作させるにはどうすればよいですか?私は、サーバーのアドレスに対応し、idsrv3testの代わりにそれをロードする正しいサブジェクトで新しい証明書を作成する必要があると仮定します。どうすればいい?私はこれがテストボックスなので、商用証明書を購入する必要はなく、自分で作ることができますか?新しい証明書の対象は何ですか?それはちょうどhttps://localhostであるはずですか?または単にlocalhost?私のVMの完全なドメイン名ですか?
私はかなりの質問がありますが、証明書のセキュリティに関しては、私は全然ノーベルです。誰かがこの問題についていくつかの光を照らしてくれたら、それを高く評価します。
よろしく、 アンドレイ