попробуйте это:
private static class InsecureX509TrustManager extends X509ExtendedTrustManager {
@Override
public void checkClientTrusted(X509Certificate[] x509Certificates, String s, Socket socket) throws CertificateException {
//Do nothing
}
@Override
public void checkServerTrusted(X509Certificate[] x509Certificates, String s, Socket socket) throws CertificateException {
//Do nothing
}
@Override
public void checkClientTrusted(X509Certificate[] x509Certificates, String s, SSLEngine sslEngine) throws CertificateException {
//Do nothing
}
@Override
public void checkServerTrusted(X509Certificate[] x509Certificates, String s, SSLEngine sslEngine) throws CertificateException {
//Do nothing
}
@Override
public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
//Do nothing
}
@Override
public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
//Do nothing
}
@Override
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[0];
}
private Endpoint setupSSLConext(CamelContext camelContext) throws Exception {
String[] methodValidator = ReaderXmlVenta.URL_VENTA_FIJA.split(":");
if(methodValidator[0].compareTo("https4") == 0) {
HttpComponent httpComponent = camelContext.getComponent("https4", HttpComponent.class);
httpComponent.setX509HostnameVerifier(NoopHostnameVerifier.INSTANCE);
TrustManagersParameters trustManagersParameters = new TrustManagersParameters();
X509ExtendedTrustManager extendedTrustManager = new InsecureX509TrustManager();
trustManagersParameters.setTrustManager(extendedTrustManager);
SSLContextParameters sslContextParameters = new SSLContextParameters();
sslContextParameters.setTrustManagers(trustManagersParameters);
httpComponent.setSslContextParameters(sslContextParameters);
//This is important to make your cert skip CN/Hostname checks
httpComponent.setX509HostnameVerifier((s, sslSession) -> {
//I don't mind just return true for all or you can add your own logic
logger.info(s + sslSession);
return true;
});
return httpComponent.createEndpoint( FileUtilsVenta.setDatesQueryAternity("https4://192.168.3.15:3000/getFile"));
}else{
HttpComponent httpComponent = camelContext.getComponent("http4", HttpComponent.class);
return httpComponent.createEndpoint("https4://192.168.3.15:3000/getFile");
}
}
и вызовите setupSSLConext так:
.setHeader(Exchange.HTTP_METHOD, constant("GET"))
.to(setupSSLConext(getCamelContext()))
.marshal(xmlJsonFormat)
.process("camelProcessor")
.to(mongodb:mongoBean?database=eicas&collection=sales&operation=insert)
.to("log:Ok:Se guardo un registro Venta fija")
.doCatch(IllegalArgumentException.class)
.to("log:org.apache.camel.example?level=DEBUG")
.to("log:error?showCaughtException=true&showStackTrace=true");