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 Ссылка
ausprobiertWas mache ich falsch?
Danke, Ranjit
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.
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
Tags und Links android bouncycastle keystore