Module: Legion::Transport::Connection::SSL

Includes:
Logging::Helper
Included in:
Legion::Transport::Connection
Defined in:
lib/legion/transport/connection/ssl.rb

Instance Method Summary collapse

Instance Method Details

#tls_options(tls_config: nil, port: nil) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/legion/transport/connection/ssl.rb', line 11

def tls_options(tls_config: nil, port: nil)
  if defined?(Legion::Crypt::TLS)
    tls_config ||= tls_settings
    port       ||= transport_port

    tls = Legion::Crypt::TLS.resolve(tls_config, port: port)
    return {} unless tls[:enabled]

    Legion::Transport.logger.info '[Transport] TLS enabled for RabbitMQ connection'
    return {
      tls:                 true,
      tls_cert:            tls[:cert],
      tls_key:             tls[:key],
      tls_ca_certificates: [tls[:ca]].compact,
      verify_peer:         tls[:verify] != :none
    }
  end

  direct_tls_options
end