使用 pem 文件、用户名和密码连接到 SQL 服务器
Connect to SQL Server using a pem file, username and password
我有一个 SQL 服务器(这是一个 Google 云 SQL 服务器)。与它的连接需要使用用户名和密码进行 ssl 加密和身份验证。
我可以获得 ssl 证书的 .pem
文件:
我还有服务器的用户名,密码,ip。在 SqlClient connection string syntax 中,我能够找到定义用户名 (uid)、密码 (pwd) 和 ip(数据源)的标志。但是我找不到如何放置 .pem 文件。
.pem 文件不属于连接字符串吗?如果可以,我该如何使用它?
谢谢,
尼姆罗德
编辑:我尝试打开与 trustServerCertificate=true
的连接,但仍然得到 error: 40 - Could not open a connection to SQL Server
。
解决方案:
SSL 不是问题。添加 TrustServerCertificate 和 Encrypt 标志应该允许 SSL。使用这些标志,客户端只需接受来自服务器的任何证书,并继续进行 SSL 握手。
我的问题是我没有将客户端网络添加到云 SQL 的受信任网络列表中。这显然是一项要求,即使云 SQL 为我们设置了 public IP。我将 0.0.0.0/0 网络添加为可信网络,并且连接正常。
Does the .pem file not belong in the connection string?
没有
客户端要求使用Encrypt
connection string option进行协议加密。如果客户端不信任服务器的证书,则需要在客户端上安装证书或在连接字符串中选择 TrustServerCertificate
。
我有一个 SQL 服务器(这是一个 Google 云 SQL 服务器)。与它的连接需要使用用户名和密码进行 ssl 加密和身份验证。
我可以获得 ssl 证书的 .pem
文件:
我还有服务器的用户名,密码,ip。在 SqlClient connection string syntax 中,我能够找到定义用户名 (uid)、密码 (pwd) 和 ip(数据源)的标志。但是我找不到如何放置 .pem 文件。
.pem 文件不属于连接字符串吗?如果可以,我该如何使用它?
谢谢,
尼姆罗德
编辑:我尝试打开与 trustServerCertificate=true
的连接,但仍然得到 error: 40 - Could not open a connection to SQL Server
。
解决方案:
SSL 不是问题。添加 TrustServerCertificate 和 Encrypt 标志应该允许 SSL。使用这些标志,客户端只需接受来自服务器的任何证书,并继续进行 SSL 握手。
我的问题是我没有将客户端网络添加到云 SQL 的受信任网络列表中。这显然是一项要求,即使云 SQL 为我们设置了 public IP。我将 0.0.0.0/0 网络添加为可信网络,并且连接正常。
Does the .pem file not belong in the connection string?
没有
客户端要求使用Encrypt
connection string option进行协议加密。如果客户端不信任服务器的证书,则需要在客户端上安装证书或在连接字符串中选择 TrustServerCertificate
。