我有一个 Silverlight Web 应用程序,它使用启用 Silverligh 的 WCF 服务从其他 Web 服务和数据库获取数据。在前面,最终用户通过将用户名和密码写入文本框并单击按钮来登录网站。现在,最终用户拥有一张卡和一个读卡器。进入网站后必须出现认证提示。所以,我改变了我的网络服务,它使用了 HTTPS。在 IIS 中,我将 SSL 设置设置为网站要求。当然,我也创建了网站证书并将绑定证书设置为它。现在一切正常。网站和 Web 服务使用 HTTPS 打开。此外,每当进入网站时,都会显示认证提示。并且在所有证书都显示在列表中之后,用户必须选择其中之一。
我已阅读这篇文章,了解如何将 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 服务的请求中获取证书。谢谢。