0

i want to pass my certyficate to post request. I need to pass it becouse it wont work without this.

String pass = "password";

        File file = new File("C:\\Users\\Test\\Desktop\\Program\\Certs\\TLS.p12");
        InputStream stream = new FileInputStream(file);
        KeyStore store = KeyStore.getInstance("PKCS12");
        store.load(stream, pass.toCharArray());
        PrivateKey key = (PrivateKey)store.getKey("TLS_CERT", pass.toCharArray());
        System.out.println("Success");

        SSLContext sslContext = SSLContext.getInstance("SSL");
        TrustManagerFactory trustManagerFactory     TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
         trustManagerFactory.init(store);
        KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
        keyManagerFactory.init(store, "AGSZKeCnantL".toCharArray());
        sslContext.init(keyManagerFactory.getKeyManagers(),trustManagerFactory.getTrustManagers(), new SecureRandom());

        OkHttpClient client = new OkHttpClient();

        OkHttpClient.Builder builder = client.newBuilder();
        builder.sslSocketFactory(sslContext.getSocketFactory()).build();
 This is what i recive, i know i can disable TLS but server dont let me connect

Exception in thread "main" java.lang.UnsupportedOperationException: clientBuilder.sslSocketFactory(SSLSocketFactory) not supported on JDK 9+
    at okhttp3.internal.platform.Jdk9Platform.trustManager(Jdk9Platform.kt:61)
    at okhttp3.OkHttpClient$Builder.sslSocketFactory(OkHttpClient.kt:751)
    at Program.main(Program.java:71)

Can someone explain me how to fix this?

AdrianM
  • 1
  • 1
  • Possible duplicate of [how to add SSL certificates to okHttp mutual TLS connection?](https://stackoverflow.com/questions/60224181/how-to-add-ssl-certificates-to-okhttp-mutual-tls-connection) – geocodezip Nov 22 '22 at 22:07

0 Answers0