2010-03-28 63 views
3

使用带PFX证书的SSL Connector/NET我在建立连接时遇到问题。我得到连接超时。而服务器可能会下降(我不知道它是肯定的,因为我不管理服务器)。当我尝试通过MySQL连接到我的服务器时,MySQL Connector/NET SSL关闭服务器

在Windows XP中工作的很好,但无法在Windows 7

在哪里的问题?在Windows 7或服务器上(MySQL 5.0)? 有时我得到“调用接口SSPI失败”错误,但不是每次。有时候只有连接超时错误。

+0

您正在使用哪个MySQL连接器?你是从C#应用程序调用它吗? – 2010-03-31 21:04:12

+0

我试过Connector/Net 6.2.2和6.3.1 alpha。 我直接从我的C#应用​​程序调用它。 – Simon 2010-04-01 18:01:26

+0

Simon您可能还想尝试在serverfault.com上询问此问题。祝你好运。 – JYelton 2010-04-07 15:26:50

回答

1

XP和Windows 7在证书上使用不同的权限结构。如果您使用证书存储区中的PFX,则Win7会在尝试建立连接时请求提升。如果你不能授予它 - 如果你的应用程序是无头的,例如 - 连接将超时。

打开证书管理器(try this)并查找用于向MySQL进行身份验证的证书。您可能需要一个可用的公钥,而您的公钥可能具有错误的权限。 Look here了解如何更改权限的详细信息。

您还有可能在错误的存储区中拥有证书,但这也可以通过证书存储MMC管理单元修复。

如果您使用文件中的PFX并将其导入商店是一个选项,请尝试使用该选项。否则,您很可能需要在连接之前导入后在证书上设置权限。

服务器日志(如果可用)还可以为您提供有关连接失败原因的信息。以下是一些选项:

  • 如果服务器根本没有看到证书,则可能是客户端访问证书时出现权限问题。
  • 如果服务器看到一个证书但无法验证它,这通常是一个公钥问题。 PFX格式是持有者元格式,并非所有PFX文件都包含正确的组件。这也可以让你了解@Dremation所说的什么,你的证书可能只是没有安装在服务器上。
  • 您的时钟也有可能不同步。如果您可以检查服务器时钟,请确保它正确且频繁地与某些标准时钟同步。然后确保你的客户也是如此。经验法则最大倾斜是5分钟,因此客户端和服务器上相反方向上的2.5分钟会导致身份验证失败。
  • 客户端应该有一个选项来调整重试次数。如果这是证书错误,并且您可以在第一次尝试时使其失败,那么至少您会立即收到证书错误,而不是在连接超时中包装问题。