4

ポート1433でSSL用に構成されたSQLServerに接続し、その証明書を取得したいと思います。SQLを実行する必要はありません。SSL接続をセットアップしてSQLServerの証明書を取得したいだけです。

次のコードはWebサーバー証明書を取得できますが、SQLServer証明書を取得できません。タイムアウト期間が経過すると接続が失敗します。

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 に答える