我正在尝试使用https://github.com/notnoop/java-apns APN推送库来推送来自服务器的通知。
客户提供了一个APNs p12文件,该文件无法使用此库和其他一些JAVA工具
为了调查它,我尝试使用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笔记本电脑KeyChain,然后我再次导出为新的p12文件,然后它运行正常。
但客户应该使用某些API从他身边配置证书上传,我们每次都不能手动执行此操作
我们如何解决这个问题?
答案 0 :(得分:1)
您必须安装Java Cryptography Extension(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