2016-10-16 18 views
0

認証に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の完全なドメイン名ですか?

私はかなりの質問がありますが、証明書のセキュリティに関しては、私は全然ノーベルです。誰かがこの問題についていくつかの光を照らしてくれたら、それを高く評価します。

よろしく、 アンドレイ

答えて

0

[OK]をクリックします。理解した。問題はidsrv3test証明書ではありませんでした。応答がサーバーから来ていることを証明する証明書がないという事実でした。クロムを使ってエラーをより詳細に調べたところ、説明はかなり明確でした。サーバーはxxxであることを証明できませんでした。私はそれを働かせるためにいくつかのことをしなければならなかった。 1.サーバーアドレスの発行者で証明書を作成します。もし私が青空でホスティングしているのなら、それはmyvmname.cloudapp.azure.comでしょう。私はそれのための証明書ユーティリティを使用した。 2.バインドIISのWebサイトの安全なHTTPSポートに証明書 3.私はそれを考え出すのような他の人のためのサーバ

ヒントにアクセスするマシン上で、MMCを通じて信頼されたルートに証明書を追加します。 の場合あなたは自己署名証明書(make certを使って作ることができる証明書)とあなたが支払わなければならない商用証明書の違いは何ですか?それは商用の証明書がブラウザによって信頼されていることです。

関連する問題