Sql server 如果客户端未在TLS1.2 SQL Server加密中安装证书,则客户端应拒绝连接

Sql server 如果客户端未在TLS1.2 SQL Server加密中安装证书,则客户端应拒绝连接,sql-server,tls1.2,database-administration,Sql Server,Tls1.2,Database Administration,我正在进行TLS1.2 SQL SERVER加密,并在服务器中进行了以下注册表更改 关于启用TLS 1.2协议 关于将强制加密设置为“是” 三, 之后,我通过openssl创建了自签名证书,并绑定到SQL Server配置。所有这些更改都是在服务器中完成的。我的要求是,如果客户端没有安装相同的证书(导出的证书)或公钥证书,那么它应该忽略来自服务器的连接 请提出一个方法来达到我的要求,还是我遗漏了什么 我没有在客户端系统中做任何更改 我们将永远感谢您的帮助。SQL Server不支持(客户端)基于

我正在进行TLS1.2 SQL SERVER加密,并在服务器中进行了以下注册表更改

  • 关于启用TLS 1.2协议
  • 关于将强制加密设置为“是”
  • 三,

    之后,我通过openssl创建了自签名证书,并绑定到SQL Server配置。所有这些更改都是在服务器中完成的。我的要求是,如果客户端没有安装相同的证书(导出的证书)或公钥证书,那么它应该忽略来自服务器的连接

    请提出一个方法来达到我的要求,还是我遗漏了什么

    我没有在客户端系统中做任何更改


    我们将永远感谢您的帮助。

    SQL Server不支持(客户端)基于证书的身份验证


    请参见

    TLS不是身份验证协议,它用于加密连接。在TLS中,客户端启动与服务器的连接,并验证服务器提供的证书。如果证书是自签名的,并且SQL Server不是“受信任的主机”,那么,至少在SSMS中,您将收到一条警告消息(类似于“这不是受信任的证书”),这与您导航到具有自签名SSL证书的网站时在web浏览器中收到的消息相同。客户如何从中受益取决于客户。非常感谢您宝贵的回复,Alex,我们也从Microsoft得到了同样的回复。他们提出了另一种身份验证方法,即Sql server中的扩展保护,但我不这么认为,因此它在我的独立客户端和服务器中是可行的。它是必需的域服务器和身份验证服务器。如果您对延长保护期有任何建议,请向我推荐alex。再次感谢Alex:)我从未在Sql server中使用过扩展保护。没问题Alex,非常感谢您的帮助:)
    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2]
    
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
    "DisabledByDefault"=dword:00000000
    "Enabled"=dword:00000001
    
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
    "DisabledByDefault"=dword:00000000
    "Enabled"=dword:00000001
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQLServer\SuperSocketNetLib]
    "ForceEncryption"=dword:00000001 
    
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI11.0\GeneralFlags\Flag1\Force protocol encryption  value:0
     HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI11.0\GeneralFlags\Flag2\Trust Server Certificate  value:0