Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows phone 7 MPNS发送禁止推送响应403_Windows Phone 7_Httpwebrequest_Push Notification_Mpns - Fatal编程技术网

Windows phone 7 MPNS发送禁止推送响应403

Windows phone 7 MPNS发送禁止推送响应403,windows-phone-7,httpwebrequest,push-notification,mpns,Windows Phone 7,Httpwebrequest,Push Notification,Mpns,我想在我的windows phone应用程序中使用MPNS,我们将对向客户端发送推送的Web服务进行身份验证 我已经完成了MPNS身份验证所需的所有步骤 已在我的WindowsPhone开发仪表板上上载证书 使用我的证书的通用名称创建了通道名称 使用https://获取返回URI意味着我的推送通道已通过身份验证 将证书添加到我的WebRequest标头 但当我要发送推送消息和发送webrequest时,却收到“远程服务器返回错误:(403)禁止”的响应。我读到我的请求有问题,没有正确添加证书 这

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

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

  • 已在我的WindowsPhone开发仪表板上上载证书
  • 使用我的证书的通用名称创建了通道名称
  • 使用https://获取返回URI意味着我的推送通道已通过身份验证
  • 将证书添加到我的WebRequest标头
  • 但当我要发送推送消息和发送webrequest时,却收到“远程服务器返回错误:(403)禁止”的响应。我读到我的请求有问题,没有正确添加证书

    这是我的请求头代码

    X509Certificate2 Cert=新的X509Certificate2(Server.MapPath(“Certs/abc.crt”),“密码”); request.ClientCertificates.Add(Cert)

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


    这就是问题所在还是其他原因。

    你的问题没有唯一的答案

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

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

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

    curl--cert P:\cert.pem:PASSWORD-v-H“内容类型:text/xml”-H“X-WindowsPhone-Target:To
    ast“-H”X-NotificationClass:2“-X POST-d“我的标题字幕”https://am3.n
    otify.live.net/unthrottledthirdparty/01.00/push_uri_此处
    
    一旦你开始工作,你可能会面临和我一样的问题:一些通知被正确发送,而另一些则被拒绝,因为没有明显的原因,403被禁止。请参阅此线程:

    这里也是一样:

    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