通过SSL连接到SQL Server并获取服务器证书

时间:2012-04-04 09:26:32

标签: c# sql-server ssl

我想在端口1433上连接到为SSL配置的SQL Server并获取其证书。我不需要做任何SQL,我只想设置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返回其证书?

1 个答案:

答案 0 :(得分:0)

要快速检查在SQL Server上配置SSL,您可以运行以下命令:

SELECT session_id,encrypt_option 来自sys.dm_exec_connections

您还可以强制SQL Server的加密标志。您可以在SQL Server配置管理器

中执行此操作

祝你好运,如果有帮助请告诉我。