docs: public static CloseableHttpClient createKeyMaterialHttpClient(KeyStore keystore,String keyPassword,String[] supportedProtocols,int timeout,int retryExecutionCount) {
  		try {
  			SSLContext sslContext = SSLContexts.custom().useSSL().loadKeyMaterial(keystore, keyPassword.toCharArray()).build();
  			SSLConnectionSocketFactory sf = new SSLConnectionSocketFactory(sslContext,supportedProtocols,
  	                null,SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
  			SocketConfig socketConfig = SocketConfig.custom().setSoTimeout(timeout).build();
  			return HttpClientBuilder.create()
  									.setDefaultSocketConfig(socketConfig)
  									.setSSLSocketFactory(sf)
  									.setRetryHandler(new HttpRequestRetryHandlerImpl(retryExecutionCount))
  									.build();
  		} catch (KeyManagementException e) {
  			logger.error("", e);
  		} catch (NoSuchAlgorithmException e) {
  			logger.error("", e);
  		} catch (UnrecoverableKeyException e) {
  			logger.error("", e);
  		} catch (KeyStoreException e) {
  			logger.error("", e);
  		}
  		return null;
  	}