繁体   English   中英

使用不受信任的证书制作WP7 HttWebRequest POST?

[英]Making a WP7 HttWebRequest POST with an untrusted cert?

我正在开发一个进行REST服务调用的Windows Phone 7应用程序。 承载Web服务的第三方在当前环境中具有无效证书。 当我点击Firefox中的URL时,我收到有关证书的警告,我被问到是否要继续。 我也使用Poster FF扩展来测试呼叫。 如果我首先接受Firefox中的无效证书,它适用于Poster。 如果我不这样做,那么海报就不会提出要求。

在我的WP7模拟器中,我根本无法提出请求。 我在EndGetResponse方法中获得了404。 我提出的请求与海报相同,所以我知道请求没有任何问题。 我使用相同的代码(没有涉及证书)成功地击中了另一个Web服务,所以我不认为这是代码。 我唯一能想到的是WP7不允许对无效证书的请求。 有没有人有这种情况的经验? 它有什么办法吗?

有没有办法告诉我的应用程序接受所有通信,即使有无效的证书?

遗憾的是,手机上无法做到这一点。 通常,即在桌面上这个简单的代码行将禁用证书检查。

System.Net.ServicePointManager.ServerCertificateValidationCallback = (se, cert, chain, sslError) => { return true; };

如果您查看手机上的ServicePointManager,则无法进行回调。 这是arrrrse的巨大痛苦。

您是否考虑过写信给服务所有者并询问他们为什么是网络公民? (基本上,你在这里看到的是网络安全在行动,无论好坏)

正如Matt所说,您可以在Web服务器上编写简单的中继。 它不一定是特殊服务,但可能只是一个为您调用并且吐出RAW文本或XML的网页。 您的手机客户端只需获取此页面并手动选择响应。

只要有强大的意志,必有一条路为你开。

卢克

您需要在电话上安装发布方的根CA证书。

您可以通过将RootCA通过电子邮件发送给手机用户来完成此操作。 他们点击了附件,它会提示他们询问是否要在手机上安装证书。

完成后,您的请求应该通过。

我不相信有一种方法可以在您的应用程序中以编程方式执行此操作。

我不知道在手机上安装其他证书的方法。

在这种情况下,我会在您的应用和第三方网站之间创建一个代理服务,并让您的应用程序调用它。 如果需要,可以将代理置于有效证书之后。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM