Class: TTTLS13::Message::Extension::CompressCertificate
- Inherits:
-
Object
- Object
- TTTLS13::Message::Extension::CompressCertificate
- Defined in:
- lib/tttls1.3/message/extension/compress_certificate.rb
Overview
Instance Attribute Summary collapse
-
#algorithms ⇒ Object
readonly
Returns the value of attribute algorithms.
-
#extension_type ⇒ Object
readonly
Returns the value of attribute extension_type.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(algorithms) ⇒ CompressCertificate
constructor
A new instance of CompressCertificate.
- #serialize ⇒ String
Constructor Details
#initialize(algorithms) ⇒ CompressCertificate
Returns a new instance of CompressCertificate.
25 26 27 28 29 30 31 |
# File 'lib/tttls1.3/message/extension/compress_certificate.rb', line 25 def initialize(algorithms) @extension_type = ExtensionType::COMPRESS_CERTIFICATE @algorithms = algorithms || [] raise Error::ErrorAlerts, :internal_error \ if @algorithms.join.length < 2 || @algorithms.join.length > 2**8 - 2 end |
Instance Attribute Details
#algorithms ⇒ Object (readonly)
Returns the value of attribute algorithms.
17 18 19 |
# File 'lib/tttls1.3/message/extension/compress_certificate.rb', line 17 def algorithms @algorithms end |
#extension_type ⇒ Object (readonly)
Returns the value of attribute extension_type.
16 17 18 |
# File 'lib/tttls1.3/message/extension/compress_certificate.rb', line 16 def extension_type @extension_type end |
Class Method Details
.deserialize(binary) ⇒ TTTLS13::Message::Extension::CompressCertificate?
45 46 47 48 49 50 51 52 53 54 |
# File 'lib/tttls1.3/message/extension/compress_certificate.rb', line 45 def self.deserialize(binary) raise Error::ErrorAlerts, :internal_error if binary.nil? return nil if binary.length < 3 al_len = Convert.bin2i(binary.slice(0, 1)) return nil if binary.length != al_len + 1 CompressCertificate.new(binary.slice(1, al_len + 1).scan(/.{2}/m)) end |
Instance Method Details
#serialize ⇒ String
34 35 36 37 38 |
# File 'lib/tttls1.3/message/extension/compress_certificate.rb', line 34 def serialize binary = @algorithms.join.prefix_uint8_length @extension_type + binary.prefix_uint16_length end |