I am tying to integrate with RESTful API,and i have this utility method to send REST request and get the response
BufferedReader br;
HttpURLConnection con = null;
try {
URL obj = new URL(url);
con = (HttpURLConnection) obj.openConnection();
con.setReadTimeout(httpReadTimeOut);
con.setRequestMethod("POST");
for (String key : requestTypeMap.keySet()) {
con.setRequestProperty(key, requestTypeMap.get(key));
}
String jsonRequest = gson.toJson(request);
CommonUtilityLogger.debug("json request is :: " + jsonRequest);
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(jsonRequest);
wr.flush();
wr.close();
if (con.getResponseCode() != 200) {
CommonUtilityLogger.error("failed : HTTP error code : " + con.getResponseCode());
}
br = new BufferedReader(new InputStreamReader((con.getInputStream())));
return (T) gson.fromJson(br, responseType);
In the third party API documentation, it says i have to use TLS certificates and they include many files related to that
Test Certificate 1231181189.key
Test Certificate 1231181189.p7b
Test Certificate 1231181189.p12
Test Certificate 1231181189.pem
TLS Root CA.pem
now every time i try to call these service i got
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
what i am missing here, i cannot find it out