gpt4 book ai didi

windows-phone-7 - MPNS 发送推送禁止响应 403

转载 作者:行者123 更新时间:2023-12-04 07:20:44 25 4
gpt4 key购买 nike

我想在我的 Windows Phone 应用程序中使用 MPNS,我们将对向客户端发送推送的 Web 服务进行身份验证。

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

  1. 将证书上传到我的 WindowsPhone 开发面板。
  2. 使用我的证书的通用名称创建 channel 名称
  3. 获取带有 https://的返回 URI,这意味着我的推送 channel 已通过身份验证
  4. 将证书添加到我的 WebRequest header

但是当我要发送推送消息和发送 webrequest 时,我收到“远程服务器返回错误:(403) 禁止访问。”回复。我读到我的请求有问题,没有正确添加证书。

这是我的请求 header 代码

X509Certificate2 Cert = new X509Certificate2(Server.MapPath("Certs/abc.crt"), "password");request.ClientCertificates.Add(证书);

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

是这个问题还是其他问题。

最佳答案

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

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

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

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

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

关于windows-phone-7 - MPNS 发送推送禁止响应 403,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13989589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com