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.
205 206 207 208 209 |
# File 'lib/tttls1.3/message/extension/key_share.rb', line 205 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.
199 200 201 |
# File 'lib/tttls1.3/message/extension/key_share.rb', line 199 def group @group end |
#key_exchange ⇒ Object (readonly)
Returns the value of attribute key_exchange.
199 200 201 |
# File 'lib/tttls1.3/message/extension/key_share.rb', line 199 def key_exchange @key_exchange end |
Instance Method Details
#serialize ⇒ String
227 228 229 230 231 232 233 234 |
# File 'lib/tttls1.3/message/extension/key_share.rb', line 227 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
212 213 214 |
# File 'lib/tttls1.3/message/extension/key_share.rb', line 212 def valid_key_share_client_hello? @group.length == 2 && @key_exchange.length.positive? end |
#valid_key_share_hello_retry_request? ⇒ Boolean
222 223 224 |
# File 'lib/tttls1.3/message/extension/key_share.rb', line 222 def valid_key_share_hello_retry_request? @group.length == 2 && @key_exchange.empty? end |
#valid_key_share_server_hello? ⇒ Boolean
217 218 219 |
# File 'lib/tttls1.3/message/extension/key_share.rb', line 217 def valid_key_share_server_hello? @group.length == 2 && @key_exchange.length.positive? end |