मैं SSL का उपयोग कर मुसीबत हो रहा है, के रूप में मैं अपने कीस्ट्रोक से संबंधित निम्न त्रुटि हो रही है (स्वयं बनाया और स्व-हस्ताक्षरित प्रति Keytool का उपयोग कर: http://developer.android.com/tools/publishing/app-signing.html):"कुंजी स्टोर का गलत संस्करण" त्रुटि। मैं संस्करण = 1 कीस्टोर प्रमाणपत्र कैसे बना सकता हूं?
08-14 20:55:23.044: W/System.err(5430): java.io.IOException: Wrong version of key store. 08-14 20:55:23.060: W/System.err(5430): at org.bouncycastle.jce.provider.JDKKeyStore.engineLoad(JDKKeyStore.java:812) ...
JDKKeyStore.java
वर्ग में फेंक दिया त्रुटि पैदा होती है
Blockquote From JDKKeyStore.java:
if (version != STORE_VERSION) { if (version != 0) { throw new IOException("Wrong version of key store."); } }Blockquote
इस मामले STORE_VERSION = 1 में, और मेरे संस्करण = 3 प्रमाण पत्र कुंजीस्टोर मैं बनाया है द्वारा आयोजित के विवरण को पढ़ने के आधार पर: निम्नलिखित कोड में। मुझे नहीं पता कि वर्जनस्टोर को वर्जन = 1 सर्टिफिकेट कैसे बनाया जाए।
मैं यह उत्तर उपयोगी पाया: wrong version keystore when doing https call
लेकिन यह निम्न पैरामीटर का उपयोग कर कुंजीस्टोर बनाने के लिए कहता है:
-storetype BKS
-provider org.bouncycastle.jce.provider.BouncyCastleProvider
-providerpath /path/to/bouncycastle.jar
हालांकि, जब मैं (Keytool बनाने के लिए पर टर्मिनल एप्लिकेशन का उपयोग करने की कोशिश मैक) इन मानकों का उपयोग कर:
keytool -genkeypair -v -alias androiddebugkey -keyalg RSA -keysize 2048 -validity 10000 -keypass android -keystore /Users/djames/dropbox/bc146keystore/debug.keystore -storepass android -providerclass org.bouncycastle.jce.provider.BouncyCastleProvider –providerpath /Users/djames/dropbox/bc146keystore/
(जहां/उपयोगकर्ताओं/Djames/ड्रॉपबॉक्स/bc146keystore/है टी bcprov-jdk16-146.jar)
मैं निम्नलिखित त्रुटि मिलती है: वह उछाल वाले महल जार करने के लिए पथ
keytool error: java.lang.RuntimeException: Usage error, ?providerpath is not a legal command java.lang.RuntimeException: Usage error, ?providerpath is not a legal command at sun.security.tools.KeyTool.parseArgs(KeyTool.java:375) at sun.security.tools.KeyTool.run(KeyTool.java:171) at sun.security.tools.KeyTool.main(KeyTool.java:166)
मुझे समझ नहीं आता क्या यह मुझे बता रहा है। अगर मैं का उपयोग करें: Keytool -Help यह मुझसे कहता है कि निम्नलिखित -genkeypair विकल्प के लिए मान्य विकल्प हैं:
-genkeypair [-v] [-protected] [-alias ] [-keyalg ] [-keysize ] [-sigalg ] [-dname ] [-validity ] [-keypass ] [-keystore ] [-storepass ] [-storetype ] [-providername ] [-providerclass [-providerarg ]] ... [-providerpath ]
लेकिन ओरेकल डॉक्स जावा संस्करण 6 में है कि मैं (http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/keytool.html) का उपयोग कर रहा
यह मुझसे कहता है कि ये विकल्प हैं:
-genkeypair {-alias alias} {-keyalg keyalg} {-keysize keysize} {-sigalg sigalg} [-dname dname] [-keypass keypass] {-validity valDays} {-storetype storetype} {-keystore keystore} [-storepass storepass] {-providerClass provider_class_name {-providerArg provider_arg}} {-v} {-protected} {-Jjavaoption}
-providerpath option
शामिल नहीं है जो। विसंगति क्यों? (मैं -providerpath विकल्प का उपयोग नहीं करते हैं, तो मैं एक अज्ञात वर्ग अपवाद विकल्प पर मिलती है: "-providerclass org.bouncycastle.jce.provider.BouncyCastleProvider"
...)
जब मैं गूगल: Keytool -providerpath
मैं इस को हल करने के लिए उपयोगी कुछ भी नहीं मिलता है।
मुझे यकीन नहीं है कि मेरी कीटोल समस्या को हल किए बिना मेरी कीस्टोर संस्करण समस्या को कैसे हल किया जाए। किसी भी सुझाव की सराहना की।
जिम
(Mac OSX 10.6.8 if relevant)
यह प्रश्न पहले ही यहां दिया गया था: http://stackoverflow.com/a/33197845/5459467 – Cukic0d