2012-04-04 141 views
3

我想連接到在端口1433上爲SSL配置的SQL Server並獲取其證書。我不需要做任何SQL,我只想設置SSL連接並獲得SQL Server的證書。通過SSL連接到SQL Server並獲取服務器證書

以下代碼可以獲得Web服務器證書,但無法獲得SQL Server證書 - 超時期限後連接失敗。

using (client = new TcpClient()) 
{ 
    client.Connect(Hostname, Port); 
    var callback = new RemoteCertificateValidationCallback(ValidateServerCertificate); 

    using (stream = new SslStream(client.GetStream(), false, callback)) 
    { 
     stream.AuthenticateAsClient(Hostname); 
    } 
} 

SQL Server客戶端是否必須使用一些初始協商來讓服務器切換到SSL?換句話說,SQL Server的做法與STARTTLS如何與SMTP協同工作?

我需要做些什麼才能讓SQL Server返回證書?

SELECT SESSION_ID,encrypt_option FROM sys.dm_exec_connections

您還可以強制加密標記爲SQL Server:

+0

研究FreeTDS的實施。 – 2012-04-04 09:29:17

+0

你在這個代碼示例中指定的端口是1433? – 2012-04-04 09:30:04

+0

@ErikPhilips我假設他的'Port'變量設置在他的示例代碼範圍之外。 – Bridge 2012-04-04 09:31:31

回答

0

要快速檢查SSL是您的SQL Server,你可以運行下面上配置。你可以在SQL Server配置管理器中做到這一點

好運,讓我知道如果這有幫助。

相關問題