2013-08-20 96 views
1

我正在使用apns庫向我的iPhone發送推送通知。在我成功接收推送通知到我的設備時,腳本每次運行它時都會要求輸入證書密碼以發送推送通知。我試圖找出一種方法來在代碼中以某種方式包含密碼,但到目前爲止還沒有成功。如何每次發送推送通知而不提示密碼?

我從他們的倉庫運行示例代碼:

from apns import APNs, Payload 

apns = APNs(use_sandbox=True, cert_file='TestCert.pem', key_file='TestKey.pem') 

# Send a notification 
token_hex = '<token hidden for obvious reasons>' 
payload = Payload(alert="Hello World!", sound="default", badge=1) 
apns.gateway_server.send_notification(token_hex, payload) 

我也一直在檢查庫source code但它似乎並沒有什麼有用的選項。

+0

由於[Python 3.3](http://docs.python.org/3.4/library/ssl.html)有一個包含給定證書密碼的函數,不幸的是我使用Python 2.7。也許唯一可行的解​​決方案是使用一個選項重新生成證書以避免需要密碼? – Bernat

回答

0

我終於在answer to this question上找到了一個體面的解決方案。

我也發現從Python 3.3中可以在打開SSL連接的函數中使用添加方法SSLContext.load_cert_chain(certfile, keyfile, password)的密碼。