2014-01-09 137 views
0

我已阅读了很多关于推送通知的答案和教程,并发布了关于推送通知的信息,我管理了注册,创建了证书p12和pem文件以及苹果配置,所以我的应用程序知道如何接收推送通知(或至少它看起来像它)Python服务器端iphone推送通知

现在我试图设置我的服务器端 - python/django。 我已经将密钥& cert pem文件上传到我的服务器文件夹,在this之后回答SO。我在尝试ssl_sock.connect(theHost)时遇到错误,因为pem有一个释义,我读过很多人说只是删除释义,但是然后是不是整个安全公共/私人密钥不在窗口中?如果使用这种方法,我是否需要从苹果的pem文件中删除释义?或者我已经下载到我的Mac?

回答

0

我用PHP来实现这一点,但我可以告诉你我所知道的:

  • 密码短语仅仅是一个额外的加密层单独
  • SSL加密确实是安全的。
  • 如果您想删除密码短语,请在提示输入密码时留空。
+0

您可否详细说明第一点?所有密码短语都是加密私钥。密码对SSL加密没有任何作用,您的答案似乎暗示了这一点。 – EWit

+0

'密码对SSL加密没有任何帮助,这就是为什么我说“单独使用SSL加密**真的很安全”,也许我没有选择正确的单词。 – meda

2

为了扩大在梅达的答案 - 想想这个:

  1. 如果你把证书的密码,则需要进行硬编码密码短语某处Django项目,因为它会需要该密码才能加载证书。

  2. 如果有人妥协你的服务器,他们有你的证书。 “没问题!”,你想。你有一个密码短语,所以他们无法做任何事情!

  3. 除他们也有权访问您的源代码。

  4. 所以现在他们有你的口令和证书。

  5. 所以你真正做的是为自己增加麻烦,没有任何好处。

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

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

+0

所以我必须只在服务器端删除释义?或者将新的pem文件加载到苹果开发者网站? –

+0

密码短语仅用于加密您的私钥。您可以使用实用工具,例如openssl,去掉密码并给你解密的密钥。你不必上传一个新的密钥给苹果。 – EWit

+0

++ Jack在这里有一个有效的点,当有人在没有密码的情况下得到'pem'时,密码便于使用。在你的情况下,这两个将在服务器上。如果你想删除它,你将不得不重新生成'pem'文件。 @liva – meda