in library/camel-kamelets-utils/src/main/java/org/apache/camel/kamelets/utils/mongodb/SslAwareMongoClient.java [67:97]
public MongoClient get() {
String credentials = username == null ? "" : username;
if (!credentials.equals("")) {
credentials += password == null ? "@" : ":" + password + "@";
}
MongoClientSettings settings = MongoClientSettings.builder()
.applyToSslSettings(builder -> {
builder.enabled(ssl);
if (!sslValidationEnabled) {
builder.invalidHostNameAllowed(true);
SSLContext sc = null;
try {
sc = SSLContext.getInstance("SSL");
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException("Error instantiating trust all SSL context.", e);
}
try {
sc.init(null, trustAllCerts, new java.security.SecureRandom());
} catch (KeyManagementException e) {
throw new RuntimeException("Error instantiating trust all SSL context.", e);
}
builder.context(sc);
}
})
.applyConnectionString(new ConnectionString(String.format("mongodb://%s%s", credentials, hosts)))
.build();
LOG.info("Connection created using provided credentials");
return MongoClients.create(settings);
}