首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发送禁止推送响应403的MPNS

发送禁止推送响应403的MPNS
EN

Stack Overflow用户
提问于 2012-12-21 11:46:15
回答 1查看 849关注 0票数 3

我想在我的windows应用程序中使用MPNS,我们将对发送推送到客户端的webservice进行身份验证。

我已经完成了MPNS身份验证所需的所有步骤。

  1. 将证书上载到我的WindowsPhone开发仪表板上。
  2. 使用我的证书的公共名称创建通道名称
  3. 使用https://获取返回URI,这意味着我的推送通道是经过身份验证的
  4. 向我的WebRequest头添加证书

但是当我要发送推送消息和发送网络请求时,我得到了“远程服务器返回了一个错误:(403)禁止”。回应。我读到我做错了我的要求,没有适当地添加证书。

以下是我的请求头代码

X509Certificate2(Server.MapPath("Certs/abc.crt"),证书=新的X509Certificate2密码);request.ClientCertificates.Add(证书);

我们有verisign,我正在我的上测试这个。它现在不在任何服务器上托管,甚至没有在IIS中配置,也没有为IIS配置SSL。

是因为这个问题还是别的什么。

EN

回答 1

Stack Overflow用户

发布于 2014-05-22 12:06:26

你的问题没有唯一的答案。

但是,当向请求中添加客户端证书时,只需向其添加公钥。然后,服务器将响应使用您的公钥签名的挑战(请参阅客户端证书身份验证),您需要对其进行解密,并使用您的私钥进行响应。如果此身份验证过程失败,您将被禁止使用403。

因此,必须确保. .pfx/.p12 (包含您的私钥、公共证书、中间CA和根CA证书)导入到本地计算机证书存储区,并且IIS服务器可以访问它。

因为与Windows相关的变量太多,所以您可以使用Curl进行测试。请注意,您必须首先将. .pfx/.p12转换为.pem (使用openssl)。

代码语言:javascript
复制
curl --cert P:\cert.pem:PASSWORD -v -H "Content-Type:text/xml" -H "X-WindowsPhone-Target:To
ast" -H "X-NotificationClass:2" -X POST -d "<?xml version='1.0' encoding='utf-8'
?><wp:Notification xmlns:wp='WPNotification'><wp:Toast><wp:Text1>My title</wp:Te
xt1><wp:Text2>My subtitle</wp:Text2></wp:Toast></wp:Notification>" https://am3.n
otify.live.net/unthrottledthirdparty/01.00/push_uri_here

一旦你完成了这个任务,你可能会面临和我一样的问题:一些通知被正确地发送,而另一些通知被拒绝,由于没有明显的原因,403被禁止。请看这条线:

http://social.msdn.microsoft.com/Forums/sharepoint/en-US/383617ab-eafe-45fb-92cc-5e4b25a50e7f/authenticated-push-notifications-failing-randomly-403-forbidden?forum=wpnotifications

这里也是如此:

https://stackoverflow.com/questions/23805883/windows-phone-authenticated-push-notifications-failing-randomly-403-forbidden

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13989589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档