Hello,
I had developed a REST client code to invoke HTTPS REST API (POST method). As a stand-alone the code is working fine. Deployed the code as a Module/Method in Documentum repository and on execution it is throwing SSL Exception: Certificate not Verified error, when it is executing below code and throwing error at client.execute(post) line.
HttpClient client = HttpClientBuilder.create().build();
HttpPost post = new HttpPost(ENDPOINT);
post.addHeader("Authorization", AUTHORIZATION);
post.addHeader("Accept", APPLICATION_JSON_VALUE));
post.addHeader("Content-Type", APPLICATION_JSON_VALUE);
StringEntity entity = new StringEntity(jsonString);
entity.setContentEncoding(APPLICATION_JSON_VALUE);
post.setEntity(entity);
**
HttpResponse response = client.execute(post);**
Error Stack Trace
javax.net.ssl.SSLException: Certificate not verified.
at com.rsa.sslj.x.aE.b(Unknown Source)
at com.rsa.sslj.x.aE.a(Unknown Source)
at com.rsa.sslj.x.aE.a(Unknown Source)
at com.rsa.sslj.x.aP.c(Unknown Source)
at com.rsa.sslj.x.aP.a(Unknown Source)
at com.rsa.sslj.x.aP.h(Unknown Source)
at com.rsa.sslj.x.cy.startHandshake(Unknown Source)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:394)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:353)
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:141)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
at com.documentum.mthdservlet.DfMethodRunner.runIt(Unknown Source)
at com.documentum.mthdservlet.AMethodRunner.runAndReturnStatus(Unknown Source)
at com.documentum.mthdservlet.DoMethod.invokeMethod(Unknown Source)
at com.documentum.mthdservlet.DoMethod.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
at java.lang.Thread.run(Thread.java:722)
Caused by: com.rsa.sslj.x.g: Certificate not verified.
at com.rsa.sslj.x.cE.a(Unknown Source)
at com.rsa.sslj.x.cE.b(Unknown Source)
at com.rsa.sslj.x.cE.a(Unknown Source)
... 40 more
Caused by: java.security.cert.CertificateException: the certificate chain is not trusted, Parameters must be PKIXParameters or be CertPathWithOCSPParameters containing PKIXParameters
at com.rsa.sslj.x.ad.a(Unknown Source)
at com.rsa.sslj.x.ad.checkServerTrusted(Unknown Source)
at com.rsa.sslj.x.bv.a(Unknown Source)
... 43 more
Kindly provide your inputs on how to resolve this issue.
Thanks.
Regards,
Shailendra