Class: TTTLS13::Message::Extension::KeyShareEntry
- Inherits:
-
Object
- Object
- TTTLS13::Message::Extension::KeyShareEntry
- Defined in:
- lib/tttls1.3/message/extension/key_share.rb
Overview
rubocop: enable Metrics/ClassLength
Instance Attribute Summary collapse
-
#group ⇒ Object
readonly
Returns the value of attribute group.
-
#key_exchange ⇒ Object
readonly
Returns the value of attribute key_exchange.
Instance Method Summary collapse
-
#initialize(group:, key_exchange: nil) ⇒ KeyShareEntry
constructor
A new instance of KeyShareEntry.
- #serialize ⇒ String
- #valid_key_share_client_hello? ⇒ Boolean
- #valid_key_share_hello_retry_request? ⇒ Boolean
- #valid_key_share_server_hello? ⇒ Boolean
Constructor Details
#initialize(group:, key_exchange: nil) ⇒ KeyShareEntry
Returns a new instance of KeyShareEntry.
234 235 236 237 238 |
# File 'lib/tttls1.3/message/extension/key_share.rb', line 234 def initialize(group:, key_exchange: nil) @group = group || '' @key_exchange = key_exchange || '' raise Error::ErrorAlerts, :internal_error unless @group.length == 2 end |
Instance Attribute Details
#group ⇒ Object (readonly)
Returns the value of attribute group.
227 228 229 |
# File 'lib/tttls1.3/message/extension/key_share.rb', line 227 def group @group end |
#key_exchange ⇒ Object (readonly)
Returns the value of attribute key_exchange.
228 229 230 |
# File 'lib/tttls1.3/message/extension/key_share.rb', line 228 def key_exchange @key_exchange end |
Instance Method Details
#serialize ⇒ String
256 257 258 259 260 261 262 263 |
# File 'lib/tttls1.3/message/extension/key_share.rb', line 256 def serialize binary = '' binary += @group # KeyShareHelloRetryRequest doesn't have key_exchange. binary += @key_exchange.prefix_uint16_length \ unless @key_exchange.empty? binary end |
#valid_key_share_client_hello? ⇒ Boolean
241 242 243 |
# File 'lib/tttls1.3/message/extension/key_share.rb', line 241 def valid_key_share_client_hello? @group.length == 2 && @key_exchange.length.positive? end |
#valid_key_share_hello_retry_request? ⇒ Boolean
251 252 253 |
# File 'lib/tttls1.3/message/extension/key_share.rb', line 251 def valid_key_share_hello_retry_request? @group.length == 2 && @key_exchange.empty? end |
#valid_key_share_server_hello? ⇒ Boolean
246 247 248 |
# File 'lib/tttls1.3/message/extension/key_share.rb', line 246 def valid_key_share_server_hello? @group.length == 2 && @key_exchange.length.positive? end |