Java security keystore load unknown source

java.io.IOException: недопустимый формат хранилища ключей

Кто-нибудь знает, как это решить? Я много чего пробовал, но ни один из них не помог.

И когда я нажимаю подробнее, я получаю следующее:

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) 

Что именно ты пытаешься сделать? Было бы полезно опубликовать пример кода. — Jonik

И, пожалуйста, опубликуйте, что вы уже пробовали? — akarnokd

Не похоже, что Томи написал какой-либо код, связанный с KeyStore; этот стек — просто начало работы апплета. Похоже, что у загрузчика классов возникают проблемы с подготовкой к проверке подписей апплета. — erickson

@erickson: Да. Теперь я тоже это вижу. Но, боюсь, без ответа ОП мы не сможем двигаться дальше. — akarnokd

11 ответы

Вы можете повредить файл во время копирования / передачи.

Вы используете maven? Если вы копируете файл хранилища ключей с «filter = true», вы можете повредить файл.

Пожалуйста, проверьте размер файла.

Большой! Я действительно помог мне. Не могли бы вы пояснить, почему параметр фильтрации портит хранилище ключей? — Дмитрий

Спасибо за filter = true . спас мне день — Амандип Камбодж

в моем случае maven-cargo-plugin конфигурация контейнера должна использовать . для двоичных файлов, а не , согласно maven: грузовая документация — Кревелен

Возможно, maven кодирует ваше хранилище ключей, вы можете установить filtering = false, чтобы решить эту проблему.

ответ дан 07 мар ’20, в 14:03

Источник

When trying to obtain Signing Key Fingerprint I’m getting Invalid keystore format

I’m on an apprenticeship in the UK.
I’m trying to make a simple app that uses google maps with Xamarin for both iOS and Android.
My app just needs to display some objects overlaying them on the map using geolocalization

First of all I need to be able to use google maps with Visual Studio + Xamarin
I’m stuck at the first step where I have to retrieve the fingerprint from my keystore.

I’m running visual studio 2022
I’ve seen here there’s quite a lot of steps to go through.

This is one command I’ve tried from a cmd run from the jre folder

C:\Program Files\Java\jre1.8.0_291\bin>keytool.exe -list -v -keystore «%LocalAppData%\Xamarin\Mono for Android\debug.keystore» -alias androiddebugkey

I have tried with android, then changeme and changeit but still the same output as follows

keytool error: java.io.IOException: Invalid keystore format java.io.IOException: Invalid keystore format at sun.security.provider.JavaKeyStore.engineLoad(Unknown Source) at sun.security.provider.JavaKeyStore$JKS.engineLoad(Unknown Source) at sun.security.provider.KeyStoreDelegator.engineLoad(Unknown Source) at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(Unknown Source) at java.security.KeyStore.load(Unknown Source) at sun.security.tools.keytool.Main.doCommands(Unknown Source) at sun.security.tools.keytool.Main.run(Unknown Source) at sun.security.tools.keytool.Main.main(Unknown Source) 

I’ve tried also to state what the password is manually. The following example shows what I get using android as a password. The results are identical for changeme and changeit

C:\Program Files\Java\jre1.8.0_291\bin>keytool.exe -list -v -keystore «%LocalAppData%\Xamarin\Mono for Android\debug.keystore» -alias androiddebugkey -storepass android -keypass android

keytool error: java.io.IOException: Invalid keystore format java.io.IOException: Invalid keystore format at sun.security.provider.JavaKeyStore.engineLoad(Unknown Source) at sun.security.provider.JavaKeyStore$JKS.engineLoad(Unknown Source) at sun.security.provider.KeyStoreDelegator.engineLoad(Unknown Source) at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(Unknown Source) at java.security.KeyStore.load(Unknown Source) at sun.security.tools.keytool.Main.doCommands(Unknown Source) at sun.security.tools.keytool.Main.run(Unknown Source) at sun.security.tools.keytool.Main.main(Unknown Source) 

This is what I get if I don’t provide any password:

C:\Program Files\Java\jre1.8.0_291\bin>keytool.exe -list -v -keystore «%LocalAppData%\Xamarin\Mono for Android\debug.keystore» -alias androiddebugkey

I have literally just pressed enter here without typing anything. Just enter

***************** WARNING WARNING WARNING *****************
* The integrity of the information stored in your keystore *
* has NOT been verified! In order to verify its integrity, *
* you must provide your keystore password. *
***************** WARNING WARNING WARNING *****************

Alias name: androiddebugkey Creation date: Mar 3, 2022 Entry type: PrivateKeyEntry 

Which makes me think I do have a keystore.
I don’t understand why the keystore becomes an invalid one as soon as I provide a password

Is there something I’m missing? Any shell I should be running this command from?

Sorry for the formatting, this is literally my first post on this forum.

Источник

java.io.IOException: неверный формат хранилища ключей

Кто-нибудь знает, как это решить? Я много пробовал, но никто из них не работал. И когда я нажимаю больше деталей, я получаю следующее:

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) 

Не похоже, что Томи написал код, связанный с KeyStore; этот стек — просто апплет, начинающий. Похоже, что загрузчик классов не может подготовиться к проверке подписей апплета.

Источник

Неверный формат хранилища ключей Java

У меня есть закрытый ключ с форматом кодировки PKCS # 8 в виде файла .pem (и .cert).

Если я попытаюсь вызвать следующий метод:

 private KeyStore getKeyStore() throws KeyStoreException, NoSuchAlgorithmException, CertificateException, IOException

Я получаю сообщение об ошибке в строке 4 «keystore.load . «:

Caused by: java.io.IOException: Invalid keystore format at sun.security.provider.JavaKeyStore.engineLoad(Unknown Source) ~[na:1.8.0_211] at sun.security.provider.JavaKeyStore$JKS.engineLoad(Unknown Source) ~[na:1.8.0_211] at sun.security.provider.KeyStoreDelegator.engineLoad(Unknown Source) ~[na:1.8.0_211] at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(Unknown Source) ~[na:1.8.0_211] at java.security.KeyStore.load(Unknown Source) ~[na:1.8.0_211] at java_security_KeyStore$load$0.call(Unknown Source) ~[na:na] 

Как я могу решить эту проблему? Я читал, что java не поддерживает формат кодирования PKCS # 8 .

Если я попытаюсь импортировать ключ вручную следующим образом:

keytool -import -alias *alias* -keystore cacerts -file *cert.pem* 
keytool error: java.lang.Exception: Input not an X.509 certificate 

Я пытался преобразовать pkcs8 в x509 в openssl (с openvpn в windows) . безуспешно.

Работает со старым ключом. Если я заменил старый ключ новым закрытым ключом, он выйдет из строя.

Как я могу исправить эту ошибку?

Я не уверен, что псевдоним может содержать звездочку * . Попробуйте импортировать с другим псевдонимом

Источник

Читайте также:  Store templates html free
Оцените статью