2017-04-24 51 views
1

我一直在嘗試登錄到必發帳戶,使用these steps並使用source code。這工作正常,我返回一個會話密鑰,但是,如果我嘗試重複在另一個項目中獲取會話密鑰的步驟,我會收到「CERT_AUTH_REQUIRED」錯誤,這意味着我發送的客戶端證書有問題請求。無法從Betfair WebAPI檢索會話密鑰c#

如果我創建了另一個引用了正在運行的Betfair項目並獲得這個新項目來簡單地運行Betfair項目中的Program.Main方法的項目,我又收到了「CERT_AUTH_REQUIRED」消息?

當必發應用程序是解決方案的啓動項目,但如果我將啓動betfair控制檯應用程序的第二個項目設置爲啓動項目,它不會返回成功響應(儘管代碼運行良好,經歷了所有相同的步驟,這只是網絡響應失敗)。

有沒有人有任何想法,爲什麼這可能是?

回答

1

我設法讓代碼適用於非交互式登錄。儘管我做了這個改變。這聽起來很模糊,因爲我記得有這個錯誤。

private WebRequestHandler getWebRequestHandlerWithCert(string certFilename) 
    { 
     var cert = new X509Certificate2(certFilename, "", X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable); 
     var clientHandler = new WebRequestHandler(); 
     clientHandler.ClientCertificates.Add(cert); 
     return clientHandler; 
    } 
+1

Thanks @Robsedgwick,對我來說我需要的是X509KeyStorageFlags.Exportable標誌,但我仍然絕對認爲這是答案! –