【发布时间】:2013-08-02 05:21:37
【问题描述】:
我有一个 Silverlight Web 应用程序,它使用启用 Silverligh 的 WCF 服务从其他 Web 服务和数据库获取数据。在前面,最终用户通过将用户名和密码写入文本框并单击按钮来登录网站。现在,最终用户拥有一张卡和一个读卡器。进入网站后必须出现认证提示。所以,我改变了我的网络服务,它使用了 HTTPS。在 IIS 中,我将 SSL 设置设置为网站要求。当然,我也创建了网站证书并将绑定证书设置为它。现在一切正常。网站和 Web 服务使用 HTTPS 打开。此外,每当进入网站时,都会显示认证提示。并且在所有证书都显示在列表中之后,用户必须选择其中之一。之后他必须输入他的密码,如果证书存储中的数据与读卡器中的卡相同,则网站正在打开。
我已阅读 this 配置 Web 服务以使用 HTTPS 的文章。
在 ASP.NET 中,我们获得了这样的证书:
X509Certificate2 cert = new X509Certificate2(Request.ClientCertificate.Certificate);
string subject = Request.ClientCertificate.Subject;
if (!Request.ClientCertificate.IsValid || Request.ClientCertificate.Count == 0)
{
// failed
}
else
{
Session["isRegistered"] = true;
// success
}
但我不知道如何通过 Web 服务从请求中获取证书。 谢谢。
【问题讨论】:
标签: c# wcf ssl silverlight-4.0 x509certificate