Witam,

Stworzyłem aplikacje na androida która używa severa JAVY(REST - SPRING BOOT), obecnie komunikacja odbywa się przez HTTP bez szyfrowania.

Stworzyłem trust store i key store za pomocą keytool'a:

keytool -genkey -keyalg RSA -alias localhost -keystore keystore.jks -storepass 111111 -validity 360
keytool.exe -export -alias localhost -file localhost.cer -keystore keystore.jks
keytool.exe -import -v -trustcacerts -alias localhost -file localhost.cer -keystore truststore.jks

Następnie na serwerze dodałem te komendy do pliku properties:

server.ssl.key-alias=FCA
server.ssl.key-password=111111
server.ssl.key-store=keystore.jks
server.ssl.key-store-provider=SUN
server.ssl.key-store-type=JKS

Client łączy się z serwerem za pomocą tego kodu:

 OkHttpClient client = new OkHttpClient();

            KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
            InputStream instream = context.getResources().openRawResource(R.raw.truststore);
            keyStore.load(instream, "****".toCharArray());
            instream.close();

            SSLContext sslContext = SSLContext.getInstance("JKS");
            TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
            trustManagerFactory.init(keyStore);
            KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
            keyManagerFactory.init(keyStore, "111111".toCharArray());
            sslContext.init(keyManagerFactory.getKeyManagers(),trustManagerFactory.getTrustManagers(), new SecureRandom());
            client.setSslSocketFactory(sslContext.getSocketFactory());

            JsonObject jsonObject = new JsonObject();
            jsonObject.addProperty("id", newUser.getId());
            jsonObject.addProperty("email", newUser.getEmail());
            jsonObject.addProperty("password", newUser.getPassword());
            jsonObject.addProperty("fname", newUser.getFname());
            jsonObject.addProperty("lname", newUser.getLname());

            RequestBody requestBody = RequestBody.create(jsonMediaType, new Gson().toJson(jsonObject));


            Request request = new Request.Builder()
                    .url(ServerValues.SERVER_ADDRESS + "/users")
                    .post(requestBody)
                    .addHeader("content-type", "application/json")
                    .build();


            Response response = client.newCall(request).execute();

Testowałem server za pomocą Post mana i tam działa wszystko przez HTTPS wiec problem leży po stronie klienta.
Gdy client łączy się z serwerem dostaje błąd: "java.io.IOException: Wrong version of key store.".
Proszę o pomoc.