Closed mstarkie closed 5 years ago
That's indeed a problem with the Java runtime. You will get the same error with keytool.
That error should simply never happen and I have never seen it before:
java.security.NoSuchAlgorithmException: JKS KeyStore not available
Is the Java runtime from Oracle or AdoptOpenJDK? Any security modifications? Maybe FIPS restrictions in place? JKS uses weak algorithms so that may be an explanation.
I upgraded to the latest version of Oracle Java for Windows at https://www.java.com/en/
and the problem has gone away.
This is an acceptable solution to me :)
java version "1.8.0_221" Java(TM) SE Runtime Environment (build 1.8.0_221-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
Would you be able to answer this question on stackoverflow?
Describe the bug New and older versions of explorer fail to open JKS java keystore.
Something changed and I can't open *.jks files anymore with Keystore Explorer. Even older jks files with older version of Explorer won't work. I searched on Stack Overflow and elsewhere for a solution but the error may be caused by too many possibilities. I was hoping for some insight here. My guess is that it has something to do with the new versions of Java 8.
To Reproduce Steps to reproduce the behavior:
Expected behavior I could explore a jks file contents
Screenshots
org.kse.crypto.CryptoException: Could not create an instance of KeyStore as type 'JKS'. at org.kse.crypto.keystore.KeyStoreUtil.getKeyStoreInstance(KeyStoreUtil.java:448) at org.kse.crypto.keystore.KeyStoreUtil.load(KeyStoreUtil.java:167) at org.kse.crypto.keystore.KeyStoreUtil.load(KeyStoreUtil.java:137) at org.kse.gui.actions.OpenAction.openKeyStore(OpenAction.java:141) at org.kse.gui.actions.OpenAction.openKeyStore(OpenAction.java:97) at org.kse.gui.actions.ExamineFileAction.openFile(ExamineFileAction.java:119) at org.kse.gui.dnd.DroppedFileHandler.openFiles(DroppedFileHandler.java:84) at org.kse.gui.CreateApplicationGui.run(CreateApplicationGui.java:113) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)
java.security.KeyStoreException: JKS not found at java.security.KeyStore.getInstance(Unknown Source) at org.kse.crypto.keystore.KeyStoreUtil.getKeyStoreInstance(KeyStoreUtil.java:445) at org.kse.crypto.keystore.KeyStoreUtil.load(KeyStoreUtil.java:167) at org.kse.crypto.keystore.KeyStoreUtil.load(KeyStoreUtil.java:137) at org.kse.gui.actions.OpenAction.openKeyStore(OpenAction.java:141) at org.kse.gui.actions.OpenAction.openKeyStore(OpenAction.java:97) at org.kse.gui.actions.ExamineFileAction.openFile(ExamineFileAction.java:119) at org.kse.gui.dnd.DroppedFileHandler.openFiles(DroppedFileHandler.java:84) at org.kse.gui.CreateApplicationGui.run(CreateApplicationGui.java:113) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)
java.security.NoSuchAlgorithmException: JKS KeyStore not available at sun.security.jca.GetInstance.getInstance(Unknown Source) at java.security.Security.getImpl(Unknown Source) at java.security.KeyStore.getInstance(Unknown Source) at org.kse.crypto.keystore.KeyStoreUtil.getKeyStoreInstance(KeyStoreUtil.java:445) at org.kse.crypto.keystore.KeyStoreUtil.load(KeyStoreUtil.java:167) at org.kse.crypto.keystore.KeyStoreUtil.load(KeyStoreUtil.java:137) at org.kse.gui.actions.OpenAction.openKeyStore(OpenAction.java:141) at org.kse.gui.actions.OpenAction.openKeyStore(OpenAction.java:97) at org.kse.gui.actions.ExamineFileAction.openFile(ExamineFileAction.java:119) at org.kse.gui.dnd.DroppedFileHandler.openFiles(DroppedFileHandler.java:84) at org.kse.gui.CreateApplicationGui.run(CreateApplicationGui.java:113) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)
Environment