in cassandra-analytics-core/src/main/java/org/apache/cassandra/secrets/SslConfig.java [233:273]
public static SslConfig create(Map<String, String> options)
{
String secretsPath = MapUtils.getOrDefault(options, SECRETS_PATH, null);
String keyStorePath = MapUtils.getOrDefault(options, KEYSTORE_PATH, null);
String encodedKeyStore = MapUtils.getOrDefault(options, KEYSTORE_BASE64_ENCODED, null);
String keyStorePassword = MapUtils.getOrDefault(options, KEYSTORE_PASSWORD, null);
String keyStoreType = MapUtils.getOrDefault(options, KEYSTORE_TYPE, null);
String trustStorePath = MapUtils.getOrDefault(options, TRUSTSTORE_PATH, null);
String encodedTrustStore = MapUtils.getOrDefault(options, TRUSTSTORE_BASE64_ENCODED, null);
String trustStorePassword = MapUtils.getOrDefault(options, TRUSTSTORE_PASSWORD, null);
String trustStoreType = MapUtils.getOrDefault(options, TRUSTSTORE_TYPE, null);
// If any of the values are provided we try to create a valid SecretsConfig object
if (secretsPath != null
|| keyStorePath != null
|| encodedKeyStore != null
|| keyStorePassword != null
|| keyStoreType != null
|| trustStorePath != null
|| encodedTrustStore != null
|| trustStorePassword != null
|| trustStoreType != null)
{
Builder<?> validatedConfig = new Builder<>()
.secretsPath(secretsPath)
.keyStorePath(keyStorePath)
.base64EncodedKeyStore(encodedKeyStore)
.keyStorePassword(keyStorePassword)
.keyStoreType(keyStoreType)
.trustStorePath(trustStorePath)
.base64EncodedTrustStore(encodedTrustStore)
.trustStorePassword(trustStorePassword)
.trustStoreType(trustStoreType)
.validate();
LOGGER.info("Valid SSL configuration");
return validatedConfig.build();
}
LOGGER.warn("No SSL configured");
return null;
}