1

我正在嘗試使用https://github.com/notnoop/java-apns APNs推送庫來推送來自服務器的通知。IOS APNs p12 certifcate文件不能與Java一起工作

客戶提供未與此庫和其他一些JAVA工具工作的一個APN的P12文件還

進行調查,我試圖用http://portecle.sourceforge.net/

它試圖用多發組合爲BKS, JKS,UBER ....等,並給這樣的錯誤

java.io.IOException: exception decrypting data - java.security.InvalidKeyException: Illegal key size 
    org.bouncycastle.jce.provider.JDKPKCS12KeyStore.cryptData(Unknown Source) 

java.io.IOException: Wrong version of key store. 
    org.bouncycastle.jce.provider.JDKKeyStore.engineLoad(Unknown Source) 
    java.security.KeyStore.load(Unknown Source) 

java.io.IOException: Wrong version of key store. 
    org.bouncycastle.jce.provider.JDKKeyStore$BouncyCastleStore.engineLoad(Unknown Source) 
    java.security.KeyStore.load(Unknown Source) 

我試圖導入客戶提供的P12到我的Mac筆記本電腦鑰匙鏈,然後我再導出爲新的P12文件,然後正常工作。

但應該使用一些API來配置從他身邊證書上傳客戶,

我們如何解決這個問題,我們不能這樣做手工每次?

回答

1

您必須安裝Java加密擴展(JCE)。內置安全提供程序(/ lib/bin/security)不允許使用更高安全性的密碼。

的Java 6: http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html

的Java 7: http://www.oracle.com/technetwork/es/java/javase/downloads/jce-7-download-432124.html

的Java 8: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

+0

不應影響BouncyCastle的,不是嗎? –

+0

BouncyCastle下方也依賴於這些設置。你可以做一些駭人的事情。但最簡單的方法就是將JCE中的兩個標準jar文件替換掉。 – muenzpraeger

相關問題