我需要在Windows Phone 8.0应用中通过HTTPS连接到网络服务。似乎Microsoft没有关于此问题的客户端SSL支持。
我真的需要知道如何处理WP8中的证书。什么是正确的证书?需要导入哪些证书?
场景:我有一个https端点:https://10.1.1.2
当我从我的PC连接时,系统会提示您查看并安装服务器的证书。证书名称“根CA”正在本地保存。移动设备中安装了相同的证书,没有问题。当我从移动互联网浏览器打开https://10.1.1.2
时,它会通知我网页是安全的,我必须在关闭和继续页面之间进行选择。我点击继续,发生https://10.1.1.2
交易。每次我通过移动互联网资源管理器访问相同的网址时,最终用户都没有关于安全性的警告。
根据微软的说法:在大多数情况下,你不需要做任何事情 为您的Windows Phone应用启用此功能,但使用除外 以https://协议方案开头的地址。视窗 然后,Phone会检查Web返回的证书 服务,如果证书来自其中一个受信任的机构 在Windows Phone OS 7.1的Windows根证书中列出 然后,手机应用程序平台将证书与该证书结合使用 Web服务加密所有进一步的通信,包括 如前所述交换认证凭证。 虽然您可以在Windows Phone上安装受信任的证书,但是 在当前版本中,Windows Phone应用程序平台不会公开 这些证书对应用程序的价值。结果,在当前 发布,您无法实现相互身份验证方案 - 客户端将自己的证书发送到Web的方案 服务除了接收一个 - 使用证书安装 在根商店。
那么,这个程序可以吗?我无法使用Microsoft的证书颁发机构之一 默认信任。我需要代码吗?
答案 0 :(得分:1)
无法使用自签名证书,并且不会在没有干预的情况下自动获取数据。
答案 1 :(得分:0)
首先,在通过移动IE测试您的SSL连接时,从我的测试中可以看出,通过按下继续,您将向IE添加例外,而不是安装任何证书或获取异常以应用于手机范围。
其次,在WP8上使用自签名证书似乎受到严重限制,因为任何不使用内置根CA的证书链都会在您的代码中生成失败的证书验证。请参阅http://blogs.msdn.com/b/davidhardin/archive/2010/12/30/wp7-and-self-signed-ssl-certificates.aspx
上的MSDN博客文章他声明“你可以使用Microsoft证书服务实现自己的证书颁发机构,但你仍然需要来自其中一个电话证书颁发机构的证书才能将证书颁发机构链接到。”
我见过的唯一“解决方案”是有效地忽略所有证书警告 - 这根本不是解决方案。