2012-04-04 189 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配置管理器中做到这一点

好运,让我知道如果这有帮助。

相关问题