2011-12-09 145 views
0

我嘗試使用javaPns將推送通知發送到我的設備,但是如果我嘗試使用不在我的服務器上但位於外部服務器上的證書,我找不到文件異常。 我想這是因爲javaPns使用javapns文件沒有找到

new FileInputStream(path) 

,而不是

InputStream is = new URL("http://stackoverflow.com/").openStream(); 

有使用外部服務器,而無需修改代碼javaPNS的方式?

THX 4你的幫助

回答

1

如果使用JavaPNS 2,可以提供密鑰庫的InputStream不只是一個本地文件路徑)。按照您在此處提出的問題編寫InputStream,並將其傳遞給需要密鑰存儲的任何JavaPNS方法。查看圖書館的在線文檔以獲取更多信息。

+0

我會嘗試這個thx – Starbax

+0

這工作thx! – Starbax

0

嗯......你爲什麼要使用另一臺服務器的證書?

使用證書的重點在於保證發件人是他們的發言者,並且使用來自其他地方的證書完全違背了該目的。

這就像問我爲什麼不能用我的鄰居鑰匙進入我的前門。

該證書非常小...如果您嘗試擴展並且不想在代碼中使用證書,那麼將該證書放入數據庫中,然後從中讀取證書。

但是,嘿,我不是你...

讓我們來看看開發商稱: http://code.google.com/p/javapns/issues/detail?id=94

+0

我明白了你的觀點,但我們有一臺保存數據的服務器,它位於我們的防火牆之後,只能從「內部」訪問。我們不希望將證書和其他數據保存在可從Internet訪問的服務器上。這是我們的結構,我無法解決這個問題。好的,我可以將它保存在數據庫中,這可能會有所幫助。 THX – Starbax