4

我想在端口 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 返回其证书?

4

1 回答 1

0

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

从 sys.dm_exec_connections 中选择 session_id、encrypt_option

您还可以为 SQL Server 强制加密标志。您可以在 SQL Server 配置管理器中执行此操作

祝你好运,让我知道这是否有帮助。

于 2015-07-01T18:53:30.560 回答