in lib/logstash/outputs/amazon_es/http_client_builder.rb [118:154]
def self.setup_ssl(logger, params)
params["ssl"] = true if params["hosts"].any? {|h| h.scheme == "https" }
return {} if params["ssl"].nil?
return {:ssl => {:enabled => false}} if params["ssl"] == false
cacert, truststore, truststore_password, keystore, keystore_password =
params.values_at('cacert', 'truststore', 'truststore_password', 'keystore', 'keystore_password')
if cacert && truststore
raise(LogStash::ConfigurationError, "Use either \"cacert\" or \"truststore\" when configuring the CA certificate") if truststore
end
ssl_options = {:enabled => true}
if cacert
ssl_options[:ca_file] = cacert
elsif truststore
ssl_options[:truststore_password] = truststore_password.value if truststore_password
end
ssl_options[:truststore] = truststore if truststore
if keystore
ssl_options[:keystore] = keystore
ssl_options[:keystore_password] = keystore_password.value if keystore_password
end
if !params["ssl_certificate_verification"]
logger.warn [
"** WARNING ** Detected UNSAFE options in amazon_es output configuration!",
"** WARNING ** You have enabled encryption but DISABLED certificate verification.",
"** WARNING ** To make sure your data is secure change :ssl_certificate_verification to true"
].join("\n")
ssl_options[:verify] = false
end
{ ssl: ssl_options }
end