小编out*_*tis的帖子

客户端如何检索 SQL Server 公共 SSL 证书?

用户能否检索 SQL Server 实例的连接证书(类似于某人检索 HTTP 证书的方式)?如果是这样,如何?

语境

如果 SQL Server 客户端请求加密,则在允许加密连接之前必须验证服务器证书。开发服务器通常配置有自签名证书,在默认客户端设置下不会验证。

要使用自签名证书加密连接,请执行以下任一操作:

  • 证书必须添加到本地存储
  • 客户端必须设置 "TrustServerCertificate=true"
  • 客户端不得请求加密,服务器必须设置"ForceEncryption""yes"

后两个选项在每次建立连接时都会受到中间人攻击。第二,有些客户端不保存连接设置,因此必须为每个新连接重新设置。因此,最理想的解决方案是将证书添加到本地存储(最初需要做更多的工作,但之后是最简单和最安全的选择)。对于域中的用户,证书很容易分发,否则需要在每台计算机上手动安装证书。管理员可以通过直接发送或将其作为网络资源提供给每个用户来提供证书,但有时管理员可能因为其他原因太忙或无响应而无法提供证书。

在这种情况下,如果用户可以直接从 SQL 服务器获取证书将会很有用,就像可以使用浏览器或openssl s_client. 这在检索证书时仍然容易受到中间人攻击,但提供的窗口比每次有新连接时信任证书要窄得多。

sql-server ssl

12
推荐指数
1
解决办法
4527
查看次数

JOIN 语句的输出是什么样的?

一段时间以来,我一直想使用连接,但是我无法将输出可视化,因此我知道如何使用它。

假设我有 2 张桌子:

CREATE TABLE Cities (
    id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    city tinyblob
);

CREATE TABLE Users (
    id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    username TINYBLOB,
    city INT UNSIGNED,
    FOREIGN KEY (city) REFERENCES Cities (id)
);
Run Code Online (Sandbox Code Playgroud)

如果我的应用程序要运行 SQL 查询来获取用户的个人资料数据,我将如何使用连接来获取与用户记录关联的城市,以及输出的记录将如何显示?

mysql join foreign-key

8
推荐指数
2
解决办法
340
查看次数

标签 统计

foreign-key ×1

join ×1

mysql ×1

sql-server ×1

ssl ×1