Ошибка загрузки p12 в WAS Liberty на bluemix: java.io.IOException: недостаточно данных

Я пытаюсь загрузить p12 для отправки уведомлений APNS с помощью:

InputStream in = new FileInputStream(certPath);
KeyStore ks = KeyStore.getInstance("PKCS12");
ks.load(in, certPass.toCharArray());

Ошибка при выполнении в среде выполнения bluemix Liberty с IBM jdk.

java.io.IOException: insufficient data
at com.ibm.security.util.DerInputBuffer.truncate(Unknown Source)
at com.ibm.security.util.DerValue.(Unknown Source)
at com.ibm.security.util.DerInputStream.getDerValue(Unknown Source)
at com.ibm.security.pkcs12.BasicPFX.decode(Unknown Source)
at com.ibm.security.pkcs12.PFX.decode(Unknown Source)
at com.ibm.security.pkcsutil.PKCSDerObject.decode(Unknown Source)
at com.ibm.security.pkcs12.PFX.(Unknown Source)
at com.ibm.crypto.provider.PKCS12KeyStoreOracle.engineLoad(Unknown Source)
at java.security.KeyStore.load(Unknown Source)

Ошибка при выполнении во время выполнения bluemix Liberty с помощью openjdk:

java.io.IOException: insufficient data
at sun.security.util.DerInputBuffer.truncate(DerInputBuffer.java:125)
at sun.security.util.DerInputStream.subStream(DerInputStream.java:136)
at sun.security.util.DerInputStream.readVector(DerInputStream.java:381)
at sun.security.util.DerInputStream.getSequence(DerInputStream.java:298)
at sun.security.pkcs.ContentInfo.(ContentInfo.java:132)
at sun.security.pkcs.ContentInfo.(ContentInfo.java:109)
at sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1247)
at java.security.KeyStore.load(KeyStore.java:1214)

Ejecutando un listado del contenido del amacen:

keytool -list -keystore apns-certificate-sandbox.p12 -storepass ****-storetype PKCS12 -v

Tipo de Almac▒n de Claves: PKCS12
Proveedor de Almac▒n de Claves: SunJSSE

Su almac▒n de claves contiene 1 entrada

Tipo de Entrada: PrivateKeyEntry
Longitud de la Cadena de Certificado: 1
Certificado[1]:
Propietario: C=US, OU=HK5F55SZAU, CN=Apple Development IOS Push Services: com.kramagot.test, UID=com.kramagot.test
Emisor: CN=Apple Worldwide Developer Relations Certification Authority, OU=Apple Worldwide Developer Relations, O=Apple Inc., C=US
...
 Nombre del Algoritmo de Firma: SHA1withRSA
         Versi▒n: 3
...

person Miguel Ángel Hernández Castro    schedule 20.07.2016    source источник
comment
Знаете ли вы, какое шифрование используют сертификаты в хранилище ключей PKCS12? Возможно, следуйте инструкциям здесь (stackoverflow.com/questions/14375235/), чтобы просмотреть содержимое хранилища ключей, но не размещайте здесь конфиденциальную информацию о содержимом хранилища ключей.   -  person Finbarr O'B    schedule 21.07.2016
comment
Отредактируйте вопрос с этой информацией   -  person Miguel Ángel Hernández Castro    schedule 22.07.2016
comment
Похоже, что входной поток указывает на новый (пустой) файл. Можете ли вы подтвердить, что certPath, используемый для создания входного потока in, относится к правильному пути в среде развертывания Bluemix? Попробуйте использовать абсолютный путь, например new FileInputStream(new File(parent, certPath)).   -  person Saheed    schedule 25.07.2016
comment
Я печатаю файл ввода, и он имеет содержимое.   -  person Miguel Ángel Hernández Castro    schedule 25.07.2016
comment
Я согласен с @saheed, вы хотите убедиться, что загружаемый путь правильный для Bluemix.   -  person RandalAnders    schedule 09.08.2016