2009-12-28 128 views
0

如何在C#.Net中使用摘要式身份驗證實現HTTPS?根據msdn,憑證類不支持SSL ..所以我們如何實現身份驗證?我的代碼與基本身份驗證一起工作,但給出摘要時出錯..HTTPS&摘要式身份驗證

+0

您是否嘗試過簡單地將URL指定爲https:// ...到WebRequest對象? – 2009-12-28 17:27:24

回答

2

您正試圖組合通常被認爲是彼此替代的東西。 HTTP摘要式身份驗證使用MD5加密用戶憑據,現在認爲它不夠安全。

所以,這裏的信息是:使用基本認證的HTTPS。

+0

摘要含有隨機數,它們像鹽一樣起作用。所以理論上,如果有人預先計算所有的隨機數值,或者產生彩虹表,那麼這可能是一個問題,但事實上並非如此。 – blowdart 2009-12-28 18:48:29

3

建立在CredentialCache憑證,它用於Web客戶和WebRequests時,您可以指定證書的類型。因此,例如,填充CredentialCache嘗試摘要身份驗證,您可以使用

CredentialCache cache = new CredentialCache(); 
Uri prefix = new Uri ("http://www.example.com"); 
cache.Add (prefix, "Digest", new NetworkCredential ("username", "passwd")); 

WebClient wc = new WebClient(); 
wc.Credentials = cache; 

由於摘要認證依賴於目標URL和境界,如果它指定一個你需要得到這些權利。