2011-12-13 190 views
3

有沒有人有libcurl(C/C++)和Kerberos身份驗證的經驗?libcurl c/C++ Kerberos身份驗證

我可以設置所有內容併發布數據 - 但是,現在我們已打開SSO(通過JBoss服務器上的SPNEGO),我無法正確進行身份驗證,授權降級爲Basic。

在這個階段,我正在使用curl_easy_setopt(curl,CURLOPT_HTTPAUTH,CURLAUTH_GSSNEGOTIATE)並將CURLOPT_KRBLEVEL設置爲「private」。

查看wireshark中的頭文件,curl的響應不會提供任何憑據 - 這會在JBoss服務器上引發EncryptionKey異常。我可以使用緩存憑證和httprequest對象通過.NET在服務器上進行身份驗證。唯一的問題是我們不能在這個項目上使用.NET。

在此先感謝您的幫助。

  • 作爲附加要點。我剛纔看到在libcurl下Kerberos只支持ftp。我正在搜尋來源,以確認是否屬實。任何人都知道我們可以用來執行POST的任何其他庫?
+0

我已經完成了。首先嚐試使用'curl'可執行文件,然後回報它說的內容。它確實支持HTTP的Kerberos,我熟悉源代碼並可以根據需要演示它。 –

+0

hi n.m - 好吧,看起來我使用的捲曲版本不支持 - 協商..這將解釋很多。我現在要回到捲曲網站上來嘗試使用我需要的東西來獲取副本和重建。 (具有諷刺意味的是,這是我第二次完成這件事..) –

+0

不..沒有任何運氣。我可以在構建日誌中看到它包含krb4.h等。我爲kerberos安裝設置路徑。我一直在使用vs2010或nmake構建 - 但沒有成功。據我可以告訴我已經修改了相關的config/make文件,但顯然我錯過了一些東西。只要我有一個可用的內置版本,我會讓你知道。 G –

回答

1

好的 - 對於任何人達到這一點... 我下載了這個版本:http://curl.haxx.se/download.html贏32通用。 它被編譯爲在ssh,ntlm和kerberos等下運行。下載包括相關的DLL,您將需要爲任何需要緩存憑據的環境創建應用程序。 如果你想要特定的代碼 - 有關使用回調,組塊等,請給我一條線,我可以將它轉發給你。考慮到curl庫的靈活性 - 只需要在這裏下載大量的代碼就會有點多。一旦啓動並運行了curl.exe,就會有一個cmd行開關,可以將相應的代碼輸出到文本文件中(儘管它不包括有關任何writecallback功能的信息 - 只需要簡單的設置選項)。感謝n.m的幫助 - 非常感謝。 G