|
問題解決時間:2017/07/26
實際操作的作業系統:Windows 2016 & 2008 R2 (64位元 , 都經過Windows update到最新)
SQL Server:SQL Server 2014 Express
程式語言:ASP (這裡的ASP 指的是 classic asp 3.0 ,不是asp.net )
關鍵字:關閉TLS1.0 , CLASSIC ASP , MSSQL , ADOdb.Connect
問題描述:
為了資訊安全的理由,必須將 IIS 的 TLS 1.0 關閉(disable),但是關閉之後,ASP程式在連接資料庫的部分會因為不支援新的加密方式(TLS1.1 1.2)
出現像這樣的錯誤訊息:
(英文錯誤訊息的可能長這樣)
[Microsoft][ODBC SQL Server Driver][DBNETLIB]SSL Security error
(中文錯誤訊息會是這樣)
[Microsoft][ODBC SQL Server Driver][DBNETLIB] 用戶端不支援加密
[Microsoft][ODBC SQL Server Driver][DBNETLIB] SSL 安全設定錯誤
=============================================
這個提示已經很明顯告訴我們,原本使用的odbc driver只能支援到TLS 1.0,關閉TLS 1.0之後,變成無法跟伺服器連線,如果不想改用DSN方法來連接。
解決方法需要兩個步驟:
第一,安裝支援TLS1.2 的ODBC driver,這次使用的是ODBC Driver 13 for SQL Server
下載網址:https://www.microsoft.com/zh-TW/download/details.aspx?id=53339
本文寫作時 (20170726) 的最新版本是13.1,本次安裝的是64位元的版本,安裝完畢後 建議重開機。
第二,修改程式中的driver設定字串
原本的connect string是這樣:
"driver={sql server};database=Test;server=127.0.0.1;uid=帳號;pwd=密碼"
要改用指定的driver,因此必須把字串中的 { sql server } 改為 { ODBC Driver 13 for SQL Server }
如此,原本無法使用 TLS 1.2、1.1 連線的ASP程式,便可繼續使用。
#TLS1.2 #CLASSICASP #ASP #SQLServer #MSSQL
#ASP3.0再戰10年
|
|