class COSE::Mac

Constants

CONTEXT

Attributes

recipients[R]

Public Class Methods

keyword_arguments_for_initialize(decoded) click to toggle source
Calls superclass method
# File lib/cose/mac.rb, line 12
def self.keyword_arguments_for_initialize(decoded)
  super.merge(recipients: decoded.last.map { |r| COSE::Recipient.from_array(r) })
end
new(recipients:, **keyword_arguments) click to toggle source
Calls superclass method
# File lib/cose/mac.rb, line 20
def initialize(recipients:, **keyword_arguments)
  super(**keyword_arguments)

  @recipients = recipients
end
tag() click to toggle source
# File lib/cose/mac.rb, line 16
def self.tag
  97
end

Public Instance Methods

verify(key, external_aad = nil) click to toggle source
Calls superclass method
# File lib/cose/mac.rb, line 26
def verify(key, external_aad = nil)
  recipient = recipients.detect { |r| r.headers.kid == key.kid }

  if recipient
    super
  else
    raise(COSE::Error, "No recipient match the key")
  end
end

Private Instance Methods

context() click to toggle source
# File lib/cose/mac.rb, line 38
def context
  CONTEXT
end