Class: Puma::MiniSSL::ContextBuilder
Relationships & Source Files | |
Inherits: | Object |
Defined in: | lib/puma/minissl/context_builder.rb |
Class Method Summary
- .new(params, events) ⇒ ContextBuilder constructor
Instance Attribute Summary
Instance Method Summary
Constructor Details
.new(params, events) ⇒ ContextBuilder
Instance Attribute Details
#events (readonly, private)
[ GitHub ]# File 'lib/puma/minissl/context_builder.rb', line 73
attr_reader :params, :events
#params (readonly, private)
[ GitHub ]# File 'lib/puma/minissl/context_builder.rb', line 73
attr_reader :params, :events
Instance Method Details
#context
[ GitHub ]# File 'lib/puma/minissl/context_builder.rb', line 12
def context ctx = MiniSSL::Context.new if defined?(JRUBY_VERSION) unless params['keystore'] events.error "Please specify the Java keystore via 'keystore='" end ctx.keystore = params['keystore'] unless params['keystore-pass'] events.error "Please specify the Java keystore password via 'keystore-pass='" end ctx.keystore_pass = params['keystore-pass'] ctx.ssl_cipher_list = params['ssl_cipher_list'] if params['ssl_cipher_list'] else unless params['key'] events.error "Please specify the SSL key via 'key='" end ctx.key = params['key'] unless params['cert'] events.error "Please specify the SSL cert via 'cert='" end ctx.cert = params['cert'] if ['peer', 'force_peer'].include?(params['verify_mode']) unless params['ca'] events.error "Please specify the SSL ca via 'ca='" end end ctx.ca = params['ca'] if params['ca'] ctx.ssl_cipher_filter = params['ssl_cipher_filter'] if params['ssl_cipher_filter'] end ctx.no_tlsv1 = true if params['no_tlsv1'] == 'true' ctx.no_tlsv1_1 = true if params['no_tlsv1_1'] == 'true' if params['verify_mode'] ctx.verify_mode = case params['verify_mode'] when "peer" MiniSSL::VERIFY_PEER when "force_peer" MiniSSL::VERIFY_PEER | MiniSSL::VERIFY_FAIL_IF_NO_PEER_CERT when "none" MiniSSL::VERIFY_NONE else events.error "Please specify a valid verify_mode=" MiniSSL::VERIFY_NONE end end ctx end