ODBC 驱动程序中的连接加密故障排除
证书链错误
如果在错误中看到“SSL 提供程序:证书链由不受信任的颁发机构颁发。”或“SSL 例程:证书验证失败:无法获取本地颁发者证书”:
- 默认情况下,版本 18 及更新版本中启用了连接加密。 如果以前未使用连接加密,则从 ODBC 先前版本切换的用户可能会看到这些错误。
- 用户可以选择将
Encrypt
连接字符串关键字设置为no
/optional
以禁用连接加密,从而匹配版本 18 之前的默认行为。 在 DSN 配置 UI 中,使用Connection Encryption
下拉列表设置此选项。 - 如果需要连接加密,也可以将
TrustServerCertificate
设置为yes
以跳过服务器证书验证。
证书名称错误
如果在错误中看到“SSL 提供程序:目标主体名称不正确。”或“SSL 例程:证书验证失败:主体名称与主机名不匹配”:
- 如果服务器发回的证书中的主机名与预期不匹配,则用户可能会看到此错误。 默认情况下,服务器名称用于对照证书进行检查。
- 关键字
HostNameInCertificate
可用于指定期望从服务器证书获得的名称。 - 或者,还可以指定证书,以便使用
ServerCertificate
关键字 (v18.1+) 匹配和验证返回的服务器证书。 - 还可以使用
TrustServerCertificate
跳过服务器证书验证。
有关更多信息,请参阅 DSN 和连接字符串关键字及属性。