protected static WebClientOptions applySSLOptions()

in vertx-client/src/main/java/org/apache/cassandra/sidecar/client/VertxHttpClient.java [288:324]


    protected static WebClientOptions applySSLOptions(WebClientOptions options, HttpClientConfig config)
    {
        if (!config.ssl())
        {
            return options;
        }

        options = options.setSsl(true);

        if (config.trustStoreInputStream() != null && config.trustStorePassword() != null)
        {
            TrustOptions trustOptions = buildKeyCertOptions(config.trustStoreInputStream(),
                                                            config.trustStorePassword(),
                                                            config.trustStoreType());
            options = options.setTrustOptions(trustOptions);
        }

        if (config.keyStoreInputStream() != null && config.keyStorePassword() != null)
        {
            KeyCertOptions keyCertOptions = buildKeyCertOptions(config.keyStoreInputStream(),
                                                                config.keyStorePassword(),
                                                                config.keyStoreType());
            options = options.setKeyCertOptions(keyCertOptions);
        }

        if (OpenSSLEngineOptions.isAvailable())
        {
            LOGGER.info("Building Sidecar vertx client with OpenSSL");
            options = options.setOpenSslEngineOptions(new OpenSSLEngineOptions());
        }
        else
        {
            LOGGER.warn("OpenSSL not available when building Sidecar vertx client");
        }

        return options;
    }