2009-06-27 11 views
17

क्या कोई इसे हल करने के बारे में जानता है? मैंने कई चीजों की कोशिश की, लेकिन उनमें से कोई भी काम नहीं किया।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) 
+0

आप वास्तव में क्या करने की कोशिश कर रहे हैं? कुछ उदाहरण कोड पोस्ट करना सहायक होगा। – Jonik

+0

और कृपया पोस्ट करें जो आपने पहले से ही कोशिश की है? – akarnokd

+2

ऐसा लगता है कि तोमी ने कोई कीस्टोर से संबंधित कोड लिखा है; यह ढेर बस एक एप्लेट शुरू हो रहा है। ऐसा लगता है कि क्लास लोडर को एप्लेट हस्ताक्षर सत्यापित करने की तैयारी में परेशानी हो रही है। – erickson

उत्तर

4

मुझे लगता है कि कीस्ट्रोक फ़ाइल आप उपयोग करना चाहते अपने जावा संस्करण के संबंध में एक अलग या असमर्थित स्वरूप में है। क्या आप अपने काम की कुछ और जानकारी पोस्ट कर सकते हैं?

सामान्य रूप से, इस समस्या को हल करने के लिए आपको पूरे कीस्टोर को फिर से बनाने की आवश्यकता हो सकती है (उदाहरण के लिए कुछ अन्य जेडीके संस्करण का उपयोग करना)। पुराने और नए के बीच की चाबियों को निर्यात-आयात में - यदि आप कहीं और पुराने को खोलने का प्रबंधन करते हैं।

यदि यह बस किसी असमर्थित संस्करण है, उदाहरण के के लिए BouncyCastle क्रिप्टो प्रदाता की कोशिश (हालांकि मुझे यकीन है कि अगर यह अधिक कुंजीस्टोर प्रकार के लिए जावा के लिए समर्थन जोड़ता है नहीं कर रहा हूँ?)

संपादित करें: मैंने बीसी के फीचर स्पेस को देखा।

3

आपकी कीस्टोर टूट गई है, और आपको इसे पुनर्स्थापित या पुन: उत्पन्न करना होगा।

+0

मुझे उल्लेख करने से डर था :) – akarnokd

49

आप कॉपी/स्थानांतरण के दौरान फ़ाइल को दूषित कर सकते हैं।

क्या आप मेवेन का उपयोग कर रहे हैं? यदि आप "फ़िल्टर = सत्य" के साथ कीस्टोर फ़ाइल की प्रतिलिपि बना रहे हैं, तो आप फ़ाइल को दूषित कर सकते हैं।

कृपया फ़ाइल का आकार जांचें।

+2

मेवेन के बारे में सोचने के लिए +1 ... –

+2

बढ़िया! मैंने वास्तव में मेरी मदद की। क्या आप कृपया स्पष्टीकरण दे सकते हैं कि फ़िल्टरिंग पैरामीटर कीस्टोर को दूषित क्यों करता है? – Dmitry

+0

फ़िल्टर = सत्य के लिए धन्यवाद ... मेरा दिन बचाया –

5

(पुन) नवीनतम जेडीके स्थापित करना (उदा। Oracle's) ने इसे मेरे लिए तय किया। नवीनतम ओरेकल JDK स्थापित करने और पुन: प्रारंभ करने,

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) 

लेकिन:

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

यह परिणामस्वरूप:

पहले, नवीनतम JDK स्थापित करने जब मैं Terminal.app में निम्न आदेश निष्पादित करने के लिए टर्मिनल, को क्रियान्वित करने के लिए निम्न आदेश: में

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

परिणाम:

Enter keystore password: 

जो इंगित करता है कि पथ पर कीटोल कुंजीस्टोर तक पहुंच सकता है।

+1

यह मेरे लिए काम करता है - बस नवीनतम स्थापित करना, जो मैक पहले से ही एक पैच या कुछ के रूप में 'अपडेट' था - लेकिन केवल एक बार जब मैंने एक नई टर्मिनल विंडो शुरू की तो पथ का उपयोग किया गया नया जावा अपडेट विशेष रूप से उपयोगी त्रुटि को दोहराने वाले आदेश थे और इस मुद्दे को प्रदर्शित करने के लिए हल किया गया था (हालांकि $ (java_home) संदर्भ के कारण, उन टर्मिनल में काम करते थे जहां gradle कमांड काम नहीं करता था, जो थोड़ा उलझन में था)! –

11

शायद आप मेनस्ट एन्कोडिंग कीस्टोर, आप समस्या को ठीक करने के लिए फ़िल्टरिंग = झूठी सेट कर सकते हैं।

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

मैं उबंटू पर ओपनजेडीके के साथ समस्या में भाग गया, इसे काम करने के लिए ओरेकल जेडीके स्थापित करना पड़ा।

ऐसा करने के लिए आप इस guide on google sites का पालन कर सकते हैं।

संबंधित मुद्दे