我正在开发APNS功能'与Django。
这是我向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'})
文件" /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py",第522行, init self._context.load_cert_chain(certfile,keyfile) SSLError:[SSL] PEM lib(_ssl.c:2580)
是的,我已经搜索了同样的问题,而且我几乎可以肯定我的证书.pem'文件是正确的。
但是我的一个猜测是,我没有为那个' certificate.pem'插入密码。文件。
这是错误的原因吗?
如果是这样,我应该在哪里输入密码?
有人解决此错误吗?
' SSLError:[SSL] PEM lib'
答案 0 :(得分:3)
这是因为'certifcate.pem'文件。我误解了如何创建正确的'certificate.pem'文件。我确实按照'http://www.apptuitions.com/generate-pem-file-for-push-notification/'的说明进行了操作。
然后,虽然我没有成功推送和接收通知,但我可以有所作为。
我希望这对那些有相同错误消息的人有用
答案 1 :(得分:0)
我从Apple获得了.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
我还没有使用Apple的.pem
。来自网站(http://www.apptuitions.com/generate-pem-file-for-push-notification/)的方法由于某种原因无效。