2009-12-28 131 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和境界,如果它指定一个你需要得到这些权利。