2016-03-06 78 views
1

我正在用Django开发'APNS函数'。Django:SSLError:[SSL]与APNS的PEM库

这是我的代码来推送通知发送到iOS设备

PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 
    apns = APNs(use_sandbox=True, cert_file=PATH+'/app/certificate.pem') 
    token_hex = 'UUID from ios Device' 
    payload = Payload(alert="Hello World!", sound="default", badge=1) 
    apns.gateway_server.send_notification(token_hex, payload) 
    return Response({'test'}) 

File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 522, in init self._context.load_cert_chain(certfile, keyfile) SSLError: [SSL] PEM lib (_ssl.c:2580)

是的,我已经做了搜索同样的问题,我几乎可以肯定的是我的“certificate.pem”文件是正确的。

但我的猜测之一,我没有插入该'certificate.pem'文件的密码。

这是错误的原因吗?

如果是这样,我应该在哪里输入密码?

任何人解决这个错误?

'SSLError: [SSL] PEM lib'

回答

0

有帮助我得到了.cer.p12和苹果.pem

什么工作对我来说是:

openssl x509 -inform der -in aps_development.cer -out cert.pem 
openssl pkcs12 -in private.p12 -out key.pem -nocerts 
cat key.pem cert.pem > dev.pem 

我没用过苹果的.pem。来自网站(http://www.apptuitions.com/generate-pem-file-for-push-notification/)的方法由于某种原因不起作用。