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

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

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

【问题讨论】:

    标签: python ios iphone django push-notification


    【解决方案1】:

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

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

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

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

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

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

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

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

    【讨论】:

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

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

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

    【讨论】:

    • 能否详细说明第一点?密码短语所做的只是加密私钥。密码短语对 SSL 加密没有任何作用,您的答案似乎暗示了这一点。
    • The passphrase does not do anything with the SSL encryption 对,这就是为什么我说“SSL 加密单独 真的很安全”也许我没有选对。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-27
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    相关资源
    最近更新 更多