2010-03-28 66 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分鐘會導致身份驗證失敗。
  • 客戶端應該有一個選項來調整重試次數。如果這是證書錯誤,並且您可以在第一次嘗試時使其失敗,那麼至少您會立即收到證書錯誤,而不是在連接超時中包裝問題。