【发布时间】:2015-05-19 09:55:44
【问题描述】:
通过证书和 https 进行的移动身份验证和桌面身份验证之间有什么不同吗? 以及什么时候,如何通过证书解决移动认证?
我们尝试完成与网站的连接,例如。 https:example.com 并通过证书对用户进行身份验证。 在设置 CA 并生成必要的证书之前。
来自登录站点的 C# 代码:
var x509 = new X509Certificate2(this.Request.ClientCertificate.Certificate);
var chain = new X509Chain(true);
chain.ChainPolicy.RevocationMode = X509RevocationMode.Offline;
chain.Build(x509);
与 IE 桌面浏览器配合得很好,我们可以记录每个证书信息。
编辑:
它不适用于 Firefox,而且毫无疑问选择本地证书 - 与移动设备的行为相同。
通过移动设备尝试相同的网址,例如:iPhone 或 Windowsphone - 无法从证书中读取任何内容。
解决方案: 正如@Sean Baker 所说,在移动设备上也安装您的 CA 证书。这就是我赞成他的答案作为这个问题的正确答案的原因。
查看网络服务器证书。就我而言,我在 microsoft 服务器上创建了证书并使用了“webserver”模板的副本,这样我就可以使用私钥导出证书, 因为这使得部署更容易。
这是一个指向正确方向的网址: https://support.microsoft.com/en-us/kb/931351
使用 Firefox 登录也可以正常工作 - 您必须在 fF 管理中安装您的个人证书。之后,通过 https 打开 url 时会提示您选择该证书。
【问题讨论】:
标签: c# authentication ssl https x509certificate