「HTTPSの構成」をオンにしてVS 2017テンプレートダイアログから.NET Core Webアプリケーションのみを作成しました。
使った
dotnet dev-certs https --trust
プロンプトを確認しました。 MMCで確認しました。localhost証明書がCurrentUser/Myに存在することを確認しました。
アプリケーションを実行すると、Firefoxにのみ表示されます(正確な英語の翻訳はわかりません)。
Https // localhost:44371への接続中にエラーが発生しましたPR_CONNECT_RESET_ERROR
Chromeは次のエラーも表示します
ERR_CONNECTION_RESET
Windowsファイアウォールも無効にしましたが、結果は同じでした。
プロジェクトのデバッグプロパティで[SSLを有効にする]をオフにすると、サイトは適切に表示されますが、HTTPSは表示されません。
誰かが間違っている可能性があること、またはGithubのどこで証明書を検索するコードを見つけることができるかを知っている人はいますか?
更新1:
IIS Express)を使用してVisual Studio(2017)からアプリケーションを起動することから、コンソールウィンドウを表示してKestrelに切り替え、さらに何かを教えました:
info: Microsoft.AspNetCore.Server.Kestrel[20]
Connection id "0HLOLGRVN8U0U" request processing ended abnormally.
System.IO.IOException: The decryption operation failed, see inner exception. ---
> System.ComponentModel.Win32Exception: Beim Verarbeiten des Zertifikats ist ein
unbekannter Fehler aufgetreten
--- End of inner exception stack trace ---
at System.Net.Security.SslStreamInternal.ReadAsyncInternal[TReadAdapter](TRea
dAdapter adapter, Memory`1 buffer)
at Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal.AdaptedPipeline.
ReadInputAsync(Stream stream)
at System.IO.Pipelines.PipeCompletion.ThrowLatchedException()
at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
at System.IO.Pipelines.Pipe.GetReadAsyncResult()
at System.IO.Pipelines.Pipe.DefaultPipeReader.GetResult(Int16 token)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.Proces
sRequests[TContext](IHttpApplication`1 application)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.Proces
sRequestsAsync[TContext](IHttpApplication`1 application)
System.ComponentModel.Win32Exception:Beim Verarbeiten des Zertifikats ist ein unbekannter Fehler aufgetreten
翻訳されます
System.ComponentModel.Win32Exception:証明書の処理中に不明なエラーが発生しました
Kestrel Firefoxでは、少なくとも自己署名証明書を信頼できるページが表示され、ページが表示されます。 (ただし、httpsの場合は5001、httpの場合は5000の異なるポートにあります)。 Chromeは証明書を信頼するように要求せず、期待どおりに動作し続けます。
証明書またはIIS Express for meに問題があるようです。
見つかりました その1つ これは別の問題ですが.
Firefoxのabout:config
では、network.security.ports.banned.override
設定にポート44371を含めましたか?
network.security.ports.banned.override
を検索します。存在しない場合は、[新規]> [文字列]で作成し、値をカンマ区切りのポート番号のリストとして定義します(例:80,443,44371
)。
REF: network.security.ports.banned.override
===編集===
また、Firefoxのabout:config
には、最小/最大TLSバージョンオプションがあります。これらは、「受け入れ可能な」バージョンを提供していない場合に、Firefoxがhttps:// Webサイトに接続する方法を制限する可能性があります。
security.tls.version.max
security.tls.version.min
どこ:
SSL/TLSのバージョンをテストできますIISおよびIIS Expressは、OpenSSLコマンドラインツールを使用して、単一のTLSバージョン、例:
openssl s_client -debug -Host 127.0.0.1 -port 44371 -tls1
openssl s_client -debug -Host 127.0.0.1 -port 44371 -tls1_1
openssl s_client -debug -Host 127.0.0.1 -port 44371 -tls1_2