public static SslConfig create()

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;
    }