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.
236 237 238 239 240 |
# File 'lib/tttls1.3/message/extension/key_share.rb', line 236 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.
229 230 231 |
# File 'lib/tttls1.3/message/extension/key_share.rb', line 229 def group @group end |
#key_exchange ⇒ Object (readonly)
Returns the value of attribute key_exchange.
230 231 232 |
# File 'lib/tttls1.3/message/extension/key_share.rb', line 230 def key_exchange @key_exchange end |
Instance Method Details
#serialize ⇒ String
258 259 260 261 262 263 264 265 |
# File 'lib/tttls1.3/message/extension/key_share.rb', line 258 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
243 244 245 |
# File 'lib/tttls1.3/message/extension/key_share.rb', line 243 def valid_key_share_client_hello? @group.length == 2 && @key_exchange.length.positive? end |
#valid_key_share_hello_retry_request? ⇒ Boolean
253 254 255 |
# File 'lib/tttls1.3/message/extension/key_share.rb', line 253 def valid_key_share_hello_retry_request? @group.length == 2 && @key_exchange.empty? end |
#valid_key_share_server_hello? ⇒ Boolean
248 249 250 |
# File 'lib/tttls1.3/message/extension/key_share.rb', line 248 def valid_key_share_server_hello? @group.length == 2 && @key_exchange.length.positive? end |