iphone的Python服务器端推送通知

Posted

技术标签:

【中文标题】iphone的Python服务器端推送通知【英文标题】:Python Server side Push notification for iphone 【发布时间】:2014-01-09 15:25:00 【问题描述】:

我已经阅读了很多关于推送通知的答案和教程,我已经管理了注册、创建证书 p12 和 pem 文件以及苹果配置,所以我的应用程序知道如何接收推送通知(或至少看起来是这样)

现在我正在尝试设置我的服务器端 - python/django。 我已将密钥和证书 pem 文件上传到我的服务器文件夹中,遵循this 在 SO 的回答。当我尝试ssl_sock.connect( theHost ) 时遇到错误,因为 pem 有一个释义,我读过很多人说只是为了删除释义,但是整个安全公钥/私钥不是在窗外吗?如果使用这种方法,我是否还需要从苹果的 pem 文件中删除释义?还是我下载到我的 Mac 上的那个?

【问题讨论】:

【参考方案1】:

要扩展 meda 的答案 - 考虑一下:

    如果您在证书上设置密码,则需要在 django 项目中的某处硬编码密码,因为它需要该密码才能加载证书。

    如果有人破坏了您的服务器,他们将拥有您的证书。 “没问题!”,你想。你有一个密码短语,所以他们不能用它做任何事情!

    除非他们也可以访问您的源代码。

    所以现在他们有了您的密码和证书。

    所以你真正做的只是给自己添麻烦,没有任何好处。

如果证书被存储在其他共享资产中(无论出于何种原因),或者出于高度加密问题(其中私钥只能由个人或团体手动使用),证书上的密码短语是有意义的。

在所有其他情况下,这完全是浪费精力。

【讨论】:

所以我必须只在服务器端删除释义吗?还是将新的 pem 文件也加载到苹果开发者网站? 密码仅用于加密您端的私钥。您可以使用实用程序,例如openssl,剥离密码,只给你解密的密钥。您不必向 Apple 上传新密钥。 ++ 杰克在这里有正确的观点,当有人在没有密码的情况下获得pem 时,密码就派上用场了。在您的情况下,两者都将在服务器上。如果要删除它,则必须重新生成 pem 文件。 @liva【参考方案2】:

我使用 php 来完成这项工作,但我可以告诉你我所知道的:

密码只是一个额外的加密层 仅 SSL 加密就非常安全。 如果您想删除密码,请在提示输入密码时将其留空。

【讨论】:

能否详细说明第一点?密码短语所做的只是加密私钥。密码短语对 SSL 加密没有任何作用,您的答案似乎暗示了这一点。 The passphrase does not do anything with the SSL encryption 对,这就是为什么我说“SSL 加密单独 真的很安全”也许我没有选对。

以上是关于iphone的Python服务器端推送通知的主要内容,如果未能解决你的问题,请参考以下文章

推送通知在 iphone 中没有收到来自 Parse.com 服务器的某些时间

iphone推送通知urbanairship

向我的 iPhone PHP 发送事件推送通知

在 Blackberry(服务器端)中为 PhoneGap App 推送通知

推送通知徽章

我的应用推送通知仅在我客户的 iPhone 上不起作用