Bouncy Castle Schlüsselspeicher (BKS): java.io.IOException: Falsche Version des Schlüsselspeichers

8

Ich muss mich mit einem REST basierten Webservice verbinden.

( Ссылка )

Wenn ich versuche, auf diese URL zuzugreifen, erhalte ich im IE- oder Chrome-Browser ein Zertifikat, dem ich vertrauen muss, und akzeptiere es, um fortzufahren Danach muss ich Benutzername und Passwort eingeben und dann bekomme ich JSON Antwort.

Das Gleiche muss ich programmatisch für eine Android-App tun.

  1. Erprobt mit benutzerdefinierten EasySSLSocketFactory und EasyX509TrustManager, hat nicht funktioniert. Ich habe den folgenden Fehler erhalten: java.security.cert.CertPathValidatorException: Vertrauensanker für Zertifizierungspfad nicht gefunden.

  2. Benutzte den BKS Keystore, Bitte beachten Sie, dass mykeystore.bks eine leere Datei ist, bevor ich die folgenden Befehle ausgeführt habe

    %Vor%

MyHTTPClient.java sieht wie folgt aus:

%Vor%

Wenn ich den Webservice anrufe, erhalte ich den folgenden Fehler: Verursacht von: java.lang.AssertionError: java.io.IOException: Falsche Version des Schlüsselspeichers

Bitte sagen Sie mir, was ich tun muss, um eine Verbindung zu einem HTTPS-basierten Rest-Webservice herzustellen, der über Benutzernamen und Passwd-Anmeldeinformationen verfügt. ......

    
user2290834 27.05.2013, 13:54
quelle

2 Antworten

1

Version 148 des BC-Jar funktioniert nicht mit Android. Verwenden Sie die Version 146 oder 147.

    
Christine 25.06.2015 11:31
quelle
1

Ich habe Hilfe von jemandem anderen bekommen. Die Lösung besteht aus folgenden Schritten:

  • 1, Laden Sie das Tool KeyStore Explorer herunter
  • 2, Nach der Installation, öffnen Sie Ihr bks-Zertifikat und suchen Sie nach Tools- & gt; Change Type
  • 3, wählen Sie BKS-V1, speichern Sie sie und verwenden Sie sie.
peter chen 25.01.2018 02:02
quelle