class COSE::Sign1
Constants
- CONTEXT
Attributes
payload[R]
signature[R]
Public Class Methods
keyword_arguments_for_initialize(decoded)
click to toggle source
# File lib/cose/sign1.rb, line 13 def self.keyword_arguments_for_initialize(decoded) { payload: decoded[0], signature: decoded[1] } end
new(payload:, signature:, **keyword_arguments)
click to toggle source
Calls superclass method
COSE::SecurityMessage::new
# File lib/cose/sign1.rb, line 21 def initialize(payload:, signature:, **keyword_arguments) super(**keyword_arguments) @payload = payload @signature = signature end
tag()
click to toggle source
# File lib/cose/sign1.rb, line 17 def self.tag 18 end
Public Instance Methods
verify(key, external_aad = nil)
click to toggle source
# File lib/cose/sign1.rb, line 28 def verify(key, external_aad = nil) if key.kid == headers.kid algorithm.verify(key, signature, verification_data(external_aad)) else raise(COSE::Error, "Non matching kid") end end
Private Instance Methods
verification_data(external_aad = nil)
click to toggle source
# File lib/cose/sign1.rb, line 38 def verification_data(external_aad = nil) CBOR.encode([CONTEXT, serialized_map(protected_headers), external_aad || ZERO_LENGTH_BIN_STRING, payload]) end