通过证书和 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 一起使用,并且没有关于选择本地证书的问题 - 与移动设备相同的行为。
通过移动设备尝试相同的 url,例如:iPhone 或 Windowsphone - 无法从证书中读取任何内容。
解决方案: 正如@Sean Baker 所说,也在移动设备上安装您的 CA 证书。这就是我赞成他的回答作为这个问题的正确答案的原因。
查看网络服务器证书。就我而言,我已经在微软服务器上创建了证书并使用了“网络服务器”模板的副本,这样我就可以使用私钥导出证书, 因为这使得它更容易部署。
这是一个指向正确方向的网址: https://support.microsoft.com/en-us/kb/931351
使用 firefox 登录也能正常工作 - 您必须在 fF 管理中安装您的个人证书。之后,当您通过 https 打开 url 时,系统会提示您选择该证书。
最佳答案
协议(protocol)没有区别,但是在设备上安装证书和以后访问它们有很大不同。 Windows 和 iPhone 如何安装设备证书?
关于c# - 使用客户端证书 HTTPS 的移动与桌面身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30322329/