-->

PushSharp APNS服务停止窗口关闭后工作(PushSharp APNS Service S

2019-10-19 01:32发布

我可以用succeffully通过沙箱APNS服务器推送夏普,但我有一个问题,将通知发送到我的iPhone设备。

我已经产生.CER或.p12文件,然后安装它们在我的Windows 8开发机成功。

我用这个教程在我的Windows 8设备安装证书。

昨天事情做工精细,我已成功发送通知。 关闭我的系统,然后第二天,当我尝试运行我得到以下异常的代码:

该消息是意外或格式pushsharp

我尝试提供不同的解决方案在谷歌,但没有任何帮助。 然后,我删除我的机器的证书,然后重新安装它们,事情开始重新工作。

为了使服务傻瓜证明我关闭系统,检查是否通知发送失败或没有,是它与同例外再次失败。

我再次删除证书和重新安装它们来解决此问题。 我不知道什么实际工作的问题? 是什么让PUSHSharp停止关机后发送通知。

注意:Windows firwall被禁用。 任何想法?

Answer 1:

我一直在与PushSharp在过去的几个星期,都没有这个问题。 我的环境是Windows 7不过。 你已经创建了一个iPhone开发者计划门户网站相应的推送通知证书后,您应该已经下载了一个名字类似apn_developer_identity.cer文件。 如果你还没有这样做的话,你应该打开/导入此文件到钥匙扣,到您的登录部分。

最后,如果您筛选钥匙扣,以显示你的登录容器的证书,你应该看到您的证书中列出。 展开证书,应该有下面/连接到它的关键。

右键点击或Ctrl +单击相应的证书,然后选择导出。 钥匙扣会要求你选择一个密码导出到。 选择一个,并记住它。 您应该结束了与.p12文件。 您将需要此文件,您选择在这里使用的通知和反馈库的密码。

OpenSSL的

下面是如何使用开放SSL,你需要你的开发私有密钥(这可以从钥匙串导出)和CertificateSigningRequest ??创建一个PKCS12格式的文件。certSigningRequest

  1. 转换apn_developer_identity.cer(DER格式)到PEM:OpenSSL的X​​509 -in apn_developer_identity.cer -inform DER退房手续apn_developer_identity.pem -outform PEM}

  2. 接着,转换P12私钥为PEM(最少需要4炭密码的输入):OpenSSL的PKCS12 -nocerts -out private_dev_key.pem -in private_dev_key.p12

  3. (可选):如果你想从私有密钥删除密码:OpenSSL的RSA退房手续private_key_noenc.pem -in private_key.pem

  4. 就拿证书和密钥(有或没有密码),并创建一个PKCS#12格式文件:OpenSSL的PKCS12 -export -in apn_developer_identity.pem -inkey private_key_noenc.pem -CertFile CertificateSigningRequest ?? certSigningRequest -name “apn_developer_identity” 退房手续apn_developer_identity或.p12

一旦您使用以下步骤生成P12文件,你不会真的需要它捕捉到您的控制台。 你只需要在你的代码修改如下:

 var appleCert = File.ReadAllBytes("C:/Certificate/aps_dev_identity.p12");

希望这可以帮助。



Answer 2:

我一直在努力MOON APNS 2012年以来,它的工作很好,但是从最近几天我收到以下错误信息

错误信息:System.Security.Authentication.AuthenticationException:呼吁SSPI失败,请参见内部异常。

System.ComponentModel.Win32Exception:接收到的消息是意外的或格式

解决方案:在PushNotification.cs文件替换

_apnsStream.AuthenticateAsClient(host, certificates, System.Security.Authentication.SslProtocols.Ssl3, false);

_apnsStream.AuthenticateAsClient(host, certificates, System.Security.Authentication.SslProtocols.Tls, false);

正如,我没有找到从苹果方面的任何证实,但是从github.com我找到解决办法,这和它的工作对我们来说。

这似乎是苹果贬值了“unsafer”协议SSL。



Answer 3:

首先检查你是否能像C#代码执行通知这一块 ,再不用担心安装。 我有,当我试图执行的代码相同的消息,我也没在意安装,并确保我使用的.p12类型的证书和未加。质子交换膜,并确保中.P12它解决密码。 我现在可以从一个控制台C#应用程序在我的电脑发送通知给我的iPhone。



文章来源: PushSharp APNS Service Stop working after windows shutdown