java.io.IOException: formato Keystore non valido

Qualcuno sa come risolvere questo? Ho provato molte cose, ma nessuna ha funzionato.

E quando clicco su altri dettagli ottengo questo:

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) 

Si può danneggiare il file durante la copia / il trasferimento.

Stai usando Maven? Se stai copiando il file del keystore con “filter = true”, potresti danneggiare il file.

Si prega di controllare la dimensione del file.

Forse Maven ti codifica KeyStore, puoi impostare filtering = false per risolvere il problema.

  ...   ...  false ...    

(Re) l’installazione dell’ultimo JDK (ad esempio Oracle ) lo ha risolto per me.

Prima di installare l’ultimo JDK, quando ho eseguito il seguente comando in Terminal.app:

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

Ha provocato:

 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) 

Ma, dopo aver installato l’ultimo JDK Oracle e riavviato Terminal, eseguire il seguente comando:

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

Risultati in:

 Enter keystore password: 

Che indica che il keytool sul percorso può accedere al keystore.

Penso che il file di archivio di chiavi che si desidera utilizzare abbia un formato diverso o non supportato rispetto alla propria versione di Java. Potresti postare qualche informazione in più sul tuo compito?

In generale, per risolvere questo problema potrebbe essere necessario ricreare l’intero keystore (usando, ad esempio, un’altra versione di JDK). In export-import le chiavi tra il vecchio e il nuovo – se riesci ad aprire il vecchio da qualche altra parte.

Se si tratta semplicemente di una versione non supportata, provare ad esempio il provider di crittografia BouncyCastle (anche se non sono sicuro che aggiunga supporto a Java per altri tipi di keystore?) .

Modifica: ho esaminato le funzionalità di BC.

Il tuo keystore è rotto e dovrai ripristinarlo o rigenerarlo.

Ho incontrato il problema con openJDK su Ubuntu, ho dovuto installare Oracle JDK per farlo funzionare.

Puoi seguire questa guida su Google per farlo.