Class: TTTLS13::Message::CertificateVerify
- Inherits:
-
Object
- Object
- TTTLS13::Message::CertificateVerify
- Defined in:
- lib/tttls1.3/message/certificate_verify.rb
Instance Attribute Summary collapse
-
#msg_type ⇒ Object
readonly
Returns the value of attribute msg_type.
-
#signature ⇒ Object
readonly
Returns the value of attribute signature.
-
#signature_scheme ⇒ Object
readonly
Returns the value of attribute signature_scheme.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(signature_scheme:, signature:) ⇒ CertificateVerify
constructor
A new instance of CertificateVerify.
- #serialize ⇒ String (also: #fragment)
Constructor Details
#initialize(signature_scheme:, signature:) ⇒ CertificateVerify
Returns a new instance of CertificateVerify.
16 17 18 19 20 21 22 |
# File 'lib/tttls1.3/message/certificate_verify.rb', line 16 def initialize(signature_scheme:, signature:) @msg_type = HandshakeType::CERTIFICATE_VERIFY @signature_scheme = signature_scheme @signature = signature raise Error::ErrorAlerts, :internal_error \ if @signature.length > 2**16 - 1 end |
Instance Attribute Details
#msg_type ⇒ Object (readonly)
Returns the value of attribute msg_type.
8 9 10 |
# File 'lib/tttls1.3/message/certificate_verify.rb', line 8 def msg_type @msg_type end |
#signature ⇒ Object (readonly)
Returns the value of attribute signature.
10 11 12 |
# File 'lib/tttls1.3/message/certificate_verify.rb', line 10 def signature @signature end |
#signature_scheme ⇒ Object (readonly)
Returns the value of attribute signature_scheme.
9 10 11 |
# File 'lib/tttls1.3/message/certificate_verify.rb', line 9 def signature_scheme @signature_scheme end |
Class Method Details
.deserialize(binary) ⇒ TTTLS13::Message::CertificateVerify
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/tttls1.3/message/certificate_verify.rb', line 40 def self.deserialize(binary) raise Error::ErrorAlerts, :internal_error if binary.nil? raise Error::ErrorAlerts, :decode_error if binary.length < 8 raise Error::ErrorAlerts, :internal_error \ unless binary[0] == HandshakeType::CERTIFICATE_VERIFY msg_len = Convert.bin2i(binary.slice(1, 3)) signature_scheme = binary.slice(4, 2) signature_len = Convert.bin2i(binary.slice(6, 2)) signature = binary.slice(8, signature_len) raise Error::ErrorAlerts, :internal_error \ unless signature_len + 4 == msg_len && signature_len + 8 == binary.length CertificateVerify.new(signature_scheme: signature_scheme, signature: signature) end |
Instance Method Details
#serialize ⇒ String Also known as: fragment
25 26 27 28 29 30 31 |
# File 'lib/tttls1.3/message/certificate_verify.rb', line 25 def serialize binary = '' binary += @signature_scheme binary += @signature.prefix_uint16_length @msg_type + binary.prefix_uint24_length end |