module SelfSignedTLS
Provides an environment that exposes a self-signed TLS certificate using the localhost
gem.
Definitions
def ssl_session_id
The default session identifier for the session cache.
Signature
-
returns
String
Implementation
def ssl_session_id
"falcon"
end
def ssl_context
The SSL context to use for incoming connections.
Signature
-
returns
OpenSSL::SSL::SSLContext
Implementation
def ssl_context
contexts = Localhost::Authority.fetch(authority)
contexts.server_context.tap do |context|
context.alpn_select_cb = lambda do |protocols|
if protocols.include? "h2"
return "h2"
elsif protocols.include? "http/1.1"
return "http/1.1"
elsif protocols.include? "http/1.0"
return "http/1.0"
else
return nil
end
end
context.session_id_context = ssl_session_id
end
end