ODBC 驱动程序中的连接加密故障排除

证书链错误

如果在错误中看到“SSL 提供程序:证书链由不受信任的颁发机构颁发。”或“SSL 例程:证书验证失败:无法获取本地颁发者证书”:

  • 默认情况下,版本 18 及更新版本中启用了连接加密。 如果以前未使用连接加密,则从 ODBC 先前版本切换的用户可能会看到这些错误。
  • 用户可以选择将 Encrypt 连接字符串关键字设置为 no/optional 以禁用连接加密,从而匹配版本 18 之前的默认行为。 在 DSN 配置 UI 中,使用 Connection Encryption 下拉列表设置此选项。
  • 如果需要连接加密,也可以将 TrustServerCertificate 设置为 yes 以跳过服务器证书验证。

证书名称错误

如果在错误中看到“SSL 提供程序:目标主体名称不正确。”或“SSL 例程:证书验证失败:主体名称与主机名不匹配”:

  • 如果服务器发回的证书中的主机名与预期不匹配,则用户可能会看到此错误。 默认情况下,服务器名称用于对照证书进行检查。
  • 关键字 HostNameInCertificate 可用于指定期望从服务器证书获得的名称。
  • 或者,还可以指定证书,以便使用 ServerCertificate 关键字 (v18.1+) 匹配和验证返回的服务器证书。
  • 还可以使用 TrustServerCertificate 跳过服务器证书验证。

有关更多信息,请参阅 DSN 和连接字符串关键字及属性