Android Hüpfburg: IOException

8

Ich benutze das Keytool von Sun, um einen Schlüsselspeicher für Bouncy Castle zu erstellen und ein Zertifikat darin zu importieren. Das Keytool produziert einen Keystore im Bouncy-Castle-Format.

Ich versuche dann, den Keystore der Bouncy Castle in ein Android-Programm zu importieren. Ich kann eine bekommen Instanz des "BKS" -Schlüsselspeichers, aber das Aufrufen von load für den Schlüsselspeicher löst

aus %Vor%

Dies ist der Code

%Vor%

Ich habe verschiedene Versionen der Bouncy Castle JAR aus Ссылка

ausprobiert

Was mache ich falsch?

Danke, Ranjit

    
Ranjit 03.03.2011, 04:18
quelle

3 Antworten

22

Die mit Android 4.0.3 (API Version 15) ausgelieferte Version von BouncyCastle schlägt fehl, wenn versucht wird, Keystores zu öffnen, die mit der neuesten BouncyCastle-Bibliothek erstellt wurden. Wenn ich einen Keystore mit bcprov-jdk15on-147.jar erstellt habe, ist meine Android-Beispielanwendung mit dem java.io.IOException: Wrong version of key store -Fehler gescheitert.

Wenn der Keystore jedoch mit der bcprov-jdk16-146.jar -Bibliothek erstellt wurde, konnte er von der Anwendung geladen werden. Meine Lösung war, den Keystore mit dieser älteren Bibliothek zu erstellen.

Vermutlich wird dies auch für ältere API-Versionen der Fall sein; Probieren Sie ältere Versionen von BouncyCastle aus, wenn Sie den Schlüsselspeicher erstellen.

    
marco 30.05.2012 02:04
quelle
4

Gelöst. Dem keytool-Befehl fehlte das Argument "-storetype BKS". Obwohl die BKS-Keystore-Datei generiert wurde, war sie wahrscheinlich ungültig.

    
Ranjit 03.03.2011 22:39
quelle
1

Dieses Problem ist auf die Kennwortlänge Ihres BKS-Zertifikats zurückzuführen. Es muss kleiner oder gleich 7 Zeichen lang sein. Dies ist eine Frage der US-Politik und der US-Exportkontrollen (nicht aus technischen Gründen).

Exportieren Sie Ihr Zertifikat mit einer Länge von 7 Zeichen und es funktioniert.

Hoffe es hilft

    
Corbella 21.09.2012 10:32
quelle

Tags und Links