以下に示すように、Visual StudioでSSLを有効にしました。
以下も設定しました:
IEを介して(Visual Studioデバッグを介して)Webサイトにアクセスすると、次のようになります。
Firefox経由で(Visual Studioデバッグ経由で)Webサイトにアクセスすると、次のように表示されます。
FirefoxまたはIEでWebサイトに進むオプションはありません。私は何が悪いのかを理解するために一日中過ごしました。何が悪いのですか?
.NET MVCまたはWeb APIプロジェクトがあり、SSLで実行したいとします。つまり、プロジェクトを https:// localhost:xxxx のようなURLで起動したいとします。最初のステップは簡単です。ソリューションでMVC/Web APIプロジェクト名を選択し、プロパティウィンドウで「SSL Enabled」というプロパティを見つけます。
同じプロパティウィンドウに、アプリケーションのHTTPS URLも表示されます。上記の例では https:// localhost:44300 / です。そのURLをコピーして、プロジェクトのプロパティウィンドウに移動します。 [Web]タブを見つけて、プロジェクトのURLプロパティをhttpsアドレスでオーバーライドします。
アプリケーションを起動します。ブラウザにlocalhostアドレスが信頼されていないというメッセージが表示される可能性があります。自己責任でウェブサイトにアクセスできます。 Chromeスウェーデン語の例:
問題は、Visual Studioによって自動的にインストールされた証明書が信頼されていないことです。証明書は、証明書スナップインのコンピューターレベルの証明書の[個人]フォルダーにあります。
証明書をダブルクリックすると、信頼されていないことがわかります。
このメッセージは解決策も提供します。証明書を信頼されたルート証明機関フォルダーにインポートする必要があります。同じスナップインの「個人」のすぐ下にフォルダとして表示されます。それでは、どうすればよいでしょうか。証明書を右クリックし、コンテキストメニューから[すべてのタスク]、[エクスポート...]を選択します。証明書のエクスポートウィザードで[次へ]をクリックします。 [秘密キーをエクスポートしない]オプションはそのままにして、[次へ]をクリックします。次の画面でデフォルトを受け入れます。つまり、「DERエンコードされたバイナリX.509」を選択したままにし、[次へ]をクリックします。次に、エクスポートしたファイルの名前と場所を指定する必要があります。それを「localhost」と呼び、簡単に見つけられる場所に保存します。 [次へ]と[完了]をクリックします。エクスポートが成功したことを示すポップアップメッセージが表示されます。次に、[信頼されたルート証明機関]と呼ばれるフォルダーを右クリックし、コンテキストメニューから[すべてのタスク、インポート…]を選択します。証明書のインポートウィザードで[ローカルマシン]オプションをそのままにして、[次へ]をクリックします。直前に保存した証明書を参照します。 [次へ]をクリックし、ウィザードの最後に到達するまで、すべてのデフォルト値を受け入れます。インポートが成功したというメッセージが表示されます。個人ストアに戻ってlocalhost証明書をダブルクリックすると、信頼できることがわかります。
では、.NET Webプロジェクトをもう一度開始しましょう。最初のページは警告なしで開くはずです。それでも同じ問題が発生する場合は、新しいブラウザセッションをテストしてください。ここIEで:
ブラウザウィンドウから抽出した証明書を表示することもできます。 IEの例を次に示します。
SSLを使用しているときに、この正確な問題が時々発生します(特にチーム環境で他のユーザーのプロジェクトで作業している場合)、Visual StudioプロジェクトのWeb設定(SSLポート)がめちゃくちゃになることがあります。ここで私はそれらを修正するために何をすべきかです:
これは常に私にとって問題を解決します。