OiO.lk Blog java No required SSL certificate was sent
java

No required SSL certificate was sent


I am getting No required SSL certificate was sent

I am using below code get RestTemplate.

        SSLSocketFactory ssl=this.getKeyStoreFactory();
        HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory();
        requestFactory.setConnectTimeout(connectTimeout);
        requestFactory.setReadTimeout(readTimeout);
        requestFactory.setConnectionRequestTimeout(requestTimeout);
        requestFactory.setHttpClient(getHttpClient(ssl));
        return new RestTemplate(requestFactory);

Method to get httpclinet.

    private HttpClient getHttpClient(SSLSocketFactory sslContext) {
        PoolingHttpClientConnectionManager poolingHttpClientConnectionManager = new PoolingHttpClientConnectionManager(
                connTtl, TimeUnit.MILLISECONDS);

        poolingHttpClientConnectionManager.setMaxTotal(connPoolMaxSize);
        poolingHttpClientConnectionManager.setDefaultMaxPerRoute(connPoolMaxRouteSize);
        poolingHttpClientConnectionManager.setValidateAfterInactivity(connPoolInvalidateThreshold);
        SSLConnectionSocketFactory csf = new SSLConnectionSocketFactory(sslContext, NoopHostnameVerifier.INSTANCE);CloseableHttpClient httpClient = HttpClients.custom()
                .setSSLSocketFactory(csf)
                .build();
        HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(httpClient);
        return httpClient;
    }

and getting keystore and Trust Store ,taking location from config

    KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
    KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
    try {
        keyStore.load(Files.newInputStream(ResourceUtils.getFile(keyStorePath).toPath()), keyStorePwd.toCharArray());
        trustStore.load(Files.newInputStream(ResourceUtils.getFile(keyStorePath).toPath()), keyStorePwd.toCharArray());
    }catch (Exception e){
        error("Exception while createing fsv reset template","FF10",e,null);
    }


    KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
    TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());

    trustManagerFactory.init(trustStore);
    keyManagerFactory.init(keyStore,keyStorePwd.toCharArray());
    SSLContext sslContext = SSLContext.getInstance("TL_SV_1");

    // Initialize our SSL context from the key/trust managers
    sslContext.init(keyManagerFactory.getKeyManagers(), trustManagerFactory.getTrustManagers(), null);
    return sslContext.getSocketFactory();



You need to sign in to view this answers

Exit mobile version