Class: TTTLS13::Message::Extension::ServerName
- Inherits:
-
Object
- Object
- TTTLS13::Message::Extension::ServerName
- Defined in:
- lib/tttls1.3/message/extension/server_name.rb
Overview
NOTE: 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.
29 30 31 32 33 34 |
# File 'lib/tttls1.3/message/extension/server_name.rb', line 29 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.
20 21 22 |
# File 'lib/tttls1.3/message/extension/server_name.rb', line 20 def extension_type @extension_type end |
#server_name ⇒ Object (readonly)
Returns the value of attribute server_name.
21 22 23 |
# File 'lib/tttls1.3/message/extension/server_name.rb', line 21 def server_name @server_name end |
Class Method Details
.deserialize(binary) ⇒ TTTLS13::Message::Extension::ServerName?
56 57 58 59 60 61 62 63 |
# File 'lib/tttls1.3/message/extension/server_name.rb', line 56 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
37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/tttls1.3/message/extension/server_name.rb', line 37 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 |