studio secret invalid java encryption applet keystore

java - secret - invalid keystore format android studio



java.io.IOException: formato de almacén de claves no válido (6)

Alguien sabe cómo resolver esto? Probé muchas cosas, pero ninguna de ellas funcionó.

Y cuando hago clic en más detalles obtengo esto:

at sun.security.provider.JavaKeyStore.engineLoad(Unknown Source) atsun.security.provider.JavaKeyStore$JKS.engineLoad(Unknown Source) at java.security.KeyStore.load(Unknown Source) at com.sun.deploy.security.RootCertStore$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at com.sun.deploy.security.RootCertStore.loadCertStore(Unknown Source) at com.sun.deploy.security.RootCertStore.load(Unknown Source) at com.sun.deploy.security.RootCertStore.load(Unknown Source) at com.sun.deploy.security.ImmutableCertStore.load(Unknown Source) at com.sun.deploy.security.TrustDecider.isAllPermissionGranted(Unknown Source) at com.sun.deploy.security.TrustDecider.isAllPermissionGranted(Unknown Source) at sun.plugin.security.PluginClassLoader.getPermissions(Unknown Source) at java.security.SecureClassLoader.getProtectionDomain(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at sun.applet.AppletClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.applet.AppletClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.applet.AppletClassLoader.loadCode(Unknown Source) at sun.applet.AppletPanel.createApplet(Unknown Source) at sun.plugin.AppletViewer.createApplet(Unknown Source) at sun.applet.AppletPanel.runLoader(Unknown Source) at sun.applet.AppletPanel.run(Unknown Source) at java.lang.Thread.run(Unknown Source)


(Re) instalar el último JDK (por ejemplo, Oracle''s ) lo arreglé para mí.

Antes de instalar el último JDK, cuando ejecuté el siguiente comando en Terminal.app:

keytool -list -keystore $(/usr/libexec/java_home)/jre/lib/security/cacerts -v

Resultó en:

keytool error: java.io.IOException: Invalid keystore format java.io.IOException: Invalid keystore format at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:650) at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55) at java.security.KeyStore.load(KeyStore.java:1445) at sun.security.tools.keytool.Main.doCommands(Main.java:792) at sun.security.tools.keytool.Main.run(Main.java:340) at sun.security.tools.keytool.Main.main(Main.java:333)

Pero, después de instalar el último JDK de Oracle y reiniciar Terminal, ejecuta el siguiente comando:

keytool -list -keystore $(/usr/libexec/java_home)/jre/lib/security/cacerts -v

Resultados en:

Enter keystore password:

Lo que indica que Keytool en la ruta puede acceder al almacén de claves.


Creo que el archivo de almacén de claves que desea utilizar tiene un formato diferente o no compatible con respecto a su versión de Java. ¿Podrías publicar más información de tu tarea?

En general, para resolver este problema, es posible que deba volver a crear todo el almacén de claves (por ejemplo, utilizando otra versión de JDK). En exportar-importar las claves entre la antigua y la nueva, si logras abrir la antigua en otro lugar.

Si es simplemente una versión no compatible, intente con el proveedor criptográfico BouncyCastle ( por ejemplo, aunque no estoy seguro de si agrega soporte a Java para más tipos de almacenes de claves) .

Edición: miré la característica de características de BC.


Me encontré con el problema con openJDK en Ubuntu, tuve que instalar Oracle JDK para que funcionara.

Puedes seguir esta guía en los sitios de google para hacer eso.


Puede corromper el archivo durante la copia / transferencia.

¿Estás utilizando maven? Si está copiando el archivo de almacén de claves con "filter = true", puede corromper el archivo.

Por favor, compruebe el tamaño del archivo.


Su almacén de claves está roto y tendrá que restaurarlo o regenerarlo.


Tal vez maven codifique su KeyStore, puede establecer filtering = false para solucionar el problema.

<build> ... <resources> <resource> ... <!-- set filtering=false to fix --> <filtering>false</filtering> ... </resource> </resources> </build>