class TTTLS13::Message::CertificateVerify
Attributes
msg_type[R]
signature[R]
signature_scheme[R]
Public Class Methods
deserialize(binary)
click to toggle source
@param binary [String]
@raise [TTTLS13::Error::ErrorAlerts]
@return [TTTLS13::Message::CertificateVerify]
# 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
new(signature_scheme:, signature:)
click to toggle source
@param signature_scheme
[TTTLS13::SignatureScheme] @param signature [String]
@raise [TTTLS13::Error::ErrorAlerts]
# 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
Public Instance Methods
serialize()
click to toggle source
@return [String]
# 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
Also aliased as: fragment