Class: TTTLS13::Message::Extension::ServerName
- Inherits:
-
Object
- Object
- TTTLS13::Message::Extension::ServerName
- Defined in:
- lib/tttls1.3/message/extension/server_name.rb
Overview
The extension_data field SHALL be empty when @server_name is empty. Then, serialized extension_data is
00 00 00 00
Instance Attribute Summary collapse
-
#extension_type ⇒ Object
readonly
Returns the value of attribute extension_type.
-
#server_name ⇒ Object
readonly
Returns the value of attribute server_name.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(server_name) ⇒ ServerName
constructor
A new instance of ServerName.
- #serialize ⇒ String
Constructor Details
#initialize(server_name) ⇒ ServerName
Returns a new instance of ServerName.
27 28 29 30 31 32 |
# File 'lib/tttls1.3/message/extension/server_name.rb', line 27 def initialize(server_name) @extension_type = ExtensionType::SERVER_NAME @server_name = server_name || '' raise Error::ErrorAlerts, :internal_error \ if @server_name.length > 2**16 - 5 end |
Instance Attribute Details
#extension_type ⇒ Object (readonly)
Returns the value of attribute extension_type.
19 20 21 |
# File 'lib/tttls1.3/message/extension/server_name.rb', line 19 def extension_type @extension_type end |
#server_name ⇒ Object (readonly)
Returns the value of attribute server_name.
19 20 21 |
# File 'lib/tttls1.3/message/extension/server_name.rb', line 19 def server_name @server_name end |
Class Method Details
.deserialize(binary) ⇒ TTTLS13::Message::Extension::ServerName?
54 55 56 57 58 59 60 61 |
# File 'lib/tttls1.3/message/extension/server_name.rb', line 54 def self.deserialize(binary) raise Error::ErrorAlerts, :internal_error if binary.nil? return nil if binary.length == 1 return ServerName.new('') if binary.empty? deserialize_host_name(binary) end |
Instance Method Details
#serialize ⇒ String
35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/tttls1.3/message/extension/server_name.rb', line 35 def serialize return "\x00\x00\x00\x00" if @server_name.empty? sn_len = @server_name.length binary = '' binary += @extension_type binary += (sn_len + 5).to_uint16 binary += (sn_len + 3).to_uint16 binary += NameType::HOST_NAME binary += sn_len.to_uint16 binary += @server_name binary end |