環境
- Visual Studio 2022
- SQL Server 2019
- .NET 7
- Entity Framework Core 7 (EF Core)
Entity Framework Core 7 がリリースされたのでプロジェクトに適用したところ、
Microsoft.Data.SqlClient.SqlException (0x80131904): A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - 信頼されていない機関によって証明書チェーンが発行されました。)
と、例外が発生した。
調べたところ、EF Core 7.0 (EF7) での破壊的変更 の SQL Server 接続で、Encrypt の既定値は true になります の軽減策に、
2.サーバーに証明書があるが、クライアントによって信頼されていない場合は、TrustServerCertificate=True を使用して通常の信頼メカニズムをバイパスできるようにします。
とあり、接続文字列に TrustServerCertificate=True
を追加したら例外は発生しなくなった。
上記対応は応急処置なので、本来は、
1.サーバーに有効な証明書をインストールします。 これは関連プロセスであり、証明書を取得し、クライアントによって信頼されている機関によって署名されていることを確認する必要があります。
と記載された作業をした方が良さそう。