我正在尝试基于PyAPN实现iphone的推送通知
当我在本地运行时它会阻止并提示我手动输入密码短语,直到我执行
我不知道如何设置它以便在没有提示的情况下工作
这是我的代码:
from apns import APNs, Payload
import optparse
import os
certificate_file = here(".." + app.fichier_PEM.url )
token_hex = '0c99bb3d077eeacdc04667d38dd10ca1a'
pass_phrase = app.mot_de_passe
apns = APNs(use_sandbox=True, cert_file= certificate_file)
payload = Payload(alert = message.decode('utf-8'), sound="default", badge=1)
apns.gateway_server.send_notification(token_hex, payload)
# Get feedback messages
for (token_hex, fail_time) in apns.feedback_server.items():
print "fail: "+fail_time
答案 0 :(得分:24)
创建不带短语的.pem文件时,请指定-nodes
创建没有短语的.pem文件
openssl pkcs12 -nocerts -out Pro_Key.pem -in App.p12 -nodes
使用短语
创建.pem文件openssl pkcs12 -nocerts -out Pro_Key.pem -in App.p12
如果你有一个带密码的.pem文件,你可以删除它的PyAPN密码 使用以下
openssl rsa -in haspassword.pem -out nopassword.pem
参考
用于制作证书和其他配置。
用于与Apple推送通知服务(APN)交互的一些Python库
答案 1 :(得分:0)
尝试使用
apns = APNs(use_sandbox=True, cert_file='XYZCert.pem', key_file='XYZKey.pem')
您指定证书和私钥。