class TTTLS13::Message::EncryptedExtensions
Attributes
extensions[R]
msg_type[R]
Public Class Methods
deserialize(binary)
click to toggle source
@param binary [String]
@raise [TTTLS13::Error::ErrorAlerts]
@return [TTTLS13::Message::EncryptedExtensions]
# File lib/tttls1.3/message/encrypted_extensions.rb, line 44 def self.deserialize(binary) raise Error::ErrorAlerts, :internal_error if binary.nil? raise Error::ErrorAlerts, :decode_error if binary.length < 6 raise Error::ErrorAlerts, :internal_error \ unless binary[0] == HandshakeType::ENCRYPTED_EXTENSIONS ee_len = Convert.bin2i(binary.slice(1, 3)) exs_len = Convert.bin2i(binary.slice(4, 2)) extensions = Extensions.deserialize(binary.slice(6, exs_len), HandshakeType::ENCRYPTED_EXTENSIONS) raise Error::ErrorAlerts, :decode_error \ unless exs_len + 2 == ee_len && exs_len + 6 == binary.length EncryptedExtensions.new(extensions) end
new(extensions = Extensions.new)
click to toggle source
@param extensions [TTTLS13::Message::Extensions]
# File lib/tttls1.3/message/encrypted_extensions.rb, line 27 def initialize(extensions = Extensions.new) @msg_type = HandshakeType::ENCRYPTED_EXTENSIONS @extensions = extensions || Extensions.new end
Public Instance Methods
appearable_extensions?()
click to toggle source
@return [Boolean]
# File lib/tttls1.3/message/encrypted_extensions.rb, line 61 def appearable_extensions? exs = @extensions.keys - APPEARABLE_EE_EXTENSIONS return true if exs.empty? !(exs - DEFINED_EXTENSIONS).empty? end
serialize()
click to toggle source
@return [String]
# File lib/tttls1.3/message/encrypted_extensions.rb, line 33 def serialize @msg_type + @extensions.serialize.prefix_uint24_length end
Also aliased as: fragment