.Net Core 5/6 連線SQL Server出現「SSL Handshake failed with OpenSSL error – SSL_ERROR_SSL」

小編最近遇到了Net Core 6要連線MS SQL Server時出現了「SSL Handshake failed with OpenSSL error – SSL_ERROR_SSL」錯誤訊息,什麼?這怎可能發生….微軟自家的程式語言連線自家的SQL DB,不應該會出錯阿><

[範例情境]
作業系統:Ubuntu 22.04.3 LTS
程式語言:.Net Core 6

結果竟然是因為TLS版本與資料庫主機不吻合所產生的錯誤….真的是OOXX

解決辦法如下:
01、編輯「/usr/lib/ssl/openssl.cnf」檔案
指令語法:

sudo vi /usr/lib/ssl/openssl.cnf

在該檔案的最下方修改成

[system_default_sect]
MinProtocol = TLSv1
CipherString = DEFAULT:@SECLEVEL=1

02、編輯「/etc/ssl/openssl.cnf」檔案
指令語法:

sudo vi /etc/ssl/openssl.cnf

在該檔案的最下方修改成

[system_default_sect]
MinProtocol = TLSv1
CipherString = DEFAULT:@SECLEVEL=1

03、重新啟動Linux作業系統
指令語法:

reboot