Apple 推送通知 (APN) 连接错误(本地工作)

Apple Push Notifications (APN) Connection Error (works locally)

所以我刚刚使用 C# 的 PushSharp 库让 APN 在本地工作。我可以通过单击按钮发送它并在我的 phone.

上看到它

问题是当我部署到服务器时,出现错误:

Failure: One or more errors occurred. -> {"aps":{"alert":"Test!","badge":1,"sound":"default","category":"none"}}
Apns notification error: 'ConnectionError'

没有太多信息可以参考。到目前为止,我已经在 Windows 防火墙中创建了一个规则,以允许端口 2195 上的出站流量。我还联系了我的数据中心/提供商,并确认该端口未被出站流量阻止。

我在网上找不到关于此的具体信息,如有任何建议/指点,我们将不胜感激。

我解决了这个问题,这似乎更像是 .NET 中 X509Certificate2 的错误,但我想我还是会在这里记录我的修复,因为其他人可能 运行 遇到同样的问题。

var cert = new X509Certificate2(@"C:\filepath.p12", "", X509KeyStorageFlags.MachineKeySet);

服务器需要第三个参数,因为默认情况下,IIS 只允许从 IIS 用户的密钥库中获取证书。通过传递参数 X509KeyStorageFlags.MachineKeySet,它允许 IIS 从文件系统读取和使用证书。