"Falsche version der key store" - Fehler. Wie erstelle ich einen version=1-keystore-Zertifikat?
Ich bin, die Probleme mit SSL, ich erhalte die folgende Fehlermeldung im Zusammenhang mit meiner keystore (selbst erstellte und selbst signierte mithilfe von keytool pro: http://developer.android.com/tools/publishing/app-signing.html):
08-14 20:55:23.044: W/System.err(5430): java.io.IOException: Falsch
version der key store. 08-14 20:55:23.060: W/System.err(5430):
org.bouncycastle.jce.Anbieter.JDKKeyStore.engineLoad(JDKKeyStore.java:812)
...
Den Fehler ausgelöst, in der JDKKeyStore.java
Klasse ergibt sich aus dem folgenden code:
Blockquote
Aus JDKKeyStore.java:
if (version != STORE_VERSION)
{
if (version != 0)
{
throw new IOException("Falsche version der key speichern.");
}
}Blockquote
In diesem Fall STORE_VERSION = 1, und meine version=3 basierend auf dem Lesen der details des Zertifikats im Besitz der keystore habe ich erstellt. Ich weiß nicht, wie generieren Sie einen keystore mit einem version=1-Zertifikat.
Ich fand diese Antwort hilfreich:
falsche version keystore, wenn dabei https aufrufen
allerdings fordert er für die Erstellung der keystore mit den folgenden Parametern:
-storetype BKS
-provider org.bouncycastle.jce.Anbieter.BouncyCastleProvider
-providerpath /path/to/bouncycastle.jar
Jedoch, wenn ich versuche zu erstellen keytool (über die terminal-app auf dem Mac) mit diesen Parametern:
keytool -genkeypair -v -alias androiddebugkey -keyalg RSA -keysize
2048 -validity 10000 -keypass android -keystore
/Benutzer/djames/dropbox/bc146keystore/debug.keystore -storepass android
-providerclass org.bouncycastle.jce.Anbieter.BouncyCastleProvider –providerpath /Users/djames/dropbox/bc146keystore/
(wo /Benutzer/djames/dropbox/bc146keystore/ist der Pfad zu der bouncy castle-jar: bcprov-jdk16-146.jar)
Bekomme ich die folgende Fehlermeldung:
keytool-Fehler: java.lang.RuntimeException: Syntax-Fehler, ?providerpath
ist nicht eine juristische Befehl java.lang.RuntimeException: Syntax-Fehler,
?providerpath ist nicht eine juristische Befehl an
Sonne.Sicherheit.tools.KeyTool.parseArgs(KeyTool.java:375) at
Sonne.Sicherheit.tools.KeyTool.laufen(KeyTool.java:171) at
Sonne.Sicherheit.tools.KeyTool.main(KeyTool.java:166)
Ich verstehe nicht, was diese sagt mir. Wenn ich mit: keytool -Hilfe sagt es mir, dass die folgenden sind gültige Optionen für die-genkeypair option:
-genkeypair [-v] [-protected]
[-alias ]
[-keyalg ] [-keysize ]
[-sigalg ] [-dname ]
[Gültigkeit ] [-keypass ]
[-keystore -] [- storepass ]
[-storetype ] [-providername ]
[-providerclass [-providerarg ]] ...
[-providerpath ]
Aber in den Oracle docs java-version 6, dass ich mit
(http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/keytool.html)
es sagt mir, dass diese sind die Optionen:
-genkeypair { -alias alias} { -keyalg keyalg} { -keysize keysize} { -sigalg sigalg} [-dname-dname] [-keypass keypass -] { - Gültigkeit valDays}
{ -storetype storetype} { -keystore keystore} [-storepass-storepass]
{ -providerClass provider_class_name { -providerArg provider_arg}} { -v -}
{geschützt} { -Jjavaoption}
das nicht die -providerpath option
. Warum die Unterschiede?
(Wenn ich nicht mit dem -providerpath option, dann bekomme ich eine unbekannte Klasse Ausnahme bei der option: "-providerclass org.bouncycastle.jce.provider.BouncyCastleProvider"
...)
Wenn ich das google: keytool -providerpath
Ich bekomme nichts hilfreich, diese zu lösen.
Ich bin nicht sicher, wie Sie Sie zu lösen, meine keystore-version problem ohne Lösung meines keytool problem. Anregungen geschätzt.
Jim
(Mac OSX 10.6.8 if relevant)
InformationsquelleAutor gymshoe | 2012-08-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mein problem war eine version von bouncy castle, die war auch neu. Ich musste Eins hundert sechs und vierzig - alle später, und es gab mir diese Fehlermeldung.
Das funktioniert auch, aber ich bin verwirrt, warum Eclipse bundles eine version (148), dass nicht funktioniert...
version 147 gab mir die gleichen Fehler. Dank
InformationsquelleAutor Ryan
War ich in der Lage zu bekommen Vergangenheit dieses problem mit der version keystore. siehe: keytool-Fehler beim erstellen BKS keystore: providerpath ist nicht eine juristische Befehl
InformationsquelleAutor gymshoe
Den Versionskonflikt für die key-store-version, nicht das Zertifikat-version (die, sollte der Wert 2 für eine v3 X. 509-Zertifikat).
Welche version des JDK hast du
keytool
aus? Haben Sie geben Sie einen vollständigen Pfad zu dem Befehl, oder verwenden Sie, was in IhremPATH
? Sind Sie sicher, dass Sie mit JKS Schlüssel speichert, und nicht JCEKS-Läden?1) nicht genau, wie die sagen, die version von keytool ich bin mit. Ich bin mit Java SE runtime enviroment = 1.6.0_33, und vermutlich das entsprechende JDK, mit geht es (da ich nicht durchführen jegliche separate installation, die ich kenne). Basierend auf meinem $PATH keytool ich bin mit heraus kommt das folgende Unterverzeichnis: System/Library/JavaVM.framework/Versions/A. ich weiß nicht, warum es nicht kommen: .../JavaVM.framework /versions/1.6.0 Unterverzeichnis...
2) ich habe keinen Pfad angeben, sondern der Standard. Wie oben angegeben, wird der default-Pfad finden würde keytool in: System>Bibliothek/JavaVM.framework/Versions/A. Wenn ich einen Pfad angeben, und führen Sie "System - >Bibliothek/JavaVM.framework/versions/1.6.0/keytool -help" zeigt er mir die gleiche Anzeige wie meine Standard-keytool, z.B.-genkeypair beinhaltet die option für -providerpath.
3) Keystore-Typ: zuerst war ich spielen, um mit den Standard-debug -.keystore erstellt wird für android, wenn Sie Eclipse verwenden für Ihre IDE. Als ich bei der Fragen, habe ich meinen eigenen keystore mit keytool wie zuvor beschrieben. Ich nicht angeben jeder storetype wenn ich das getan habe, so würde ich vermutlich bekommen die Standard-Typ. Gibt es eine Möglichkeit, um dieses?
Ich war in der Lage zu überprüfen, die ich erschaffe JKS Schlüssel speichert mit meinem keytool (mit dem keytool -list-Befehl).
InformationsquelleAutor erickson
Abschließen, Ryan Antwort, als ich hatte zu Graben um heraus zu finden, wie zum erzeugen einer BKS mit Hüpfburg 1.46, können Sie Portecle zu generieren, die BKS.
C:\Program Files (x86)\Portecle\bcprov.jar
). Gleiche Benennung erforderlich ist.Dieser erklärte hier.
Bearbeiten:
Seit Portecle 1.8, die Sie verwenden können, BKS-V1 Typ zu generieren truststore-ohne zu ersetzen
bcprov.jar
.Können Sie es nach einem Klick auf
New keystore
oder ändern Sie den Typ über das MenüTools -> Change KeyStore Type
.Ich hatte eine ältere version, gut zu wissen.
InformationsquelleAutor L. G.