class COSE::Key::Base

Constants

LABEL_ALG
LABEL_BASE_IV
LABEL_KEY_OPS
LABEL_KID
LABEL_KTY

Attributes

alg[RW]
base_iv[RW]
key_ops[RW]
kid[RW]

Public Class Methods

deserialize(cbor) click to toggle source
# File lib/cose/key/base.rb, line 14
def self.deserialize(cbor)
  from_map(CBOR.decode(cbor))
end
from_map(map) click to toggle source
# File lib/cose/key/base.rb, line 18
def self.from_map(map)
  enforce_type(map)

  new(
    base_iv: map[LABEL_BASE_IV],
    key_ops: map[LABEL_KEY_OPS],
    alg: map[LABEL_ALG],
    kid: map[LABEL_KID],
    **keyword_arguments_for_initialize(map)
  )
end
new(kid: nil, alg: nil, key_ops: nil, base_iv: nil) click to toggle source
# File lib/cose/key/base.rb, line 32
def initialize(kid: nil, alg: nil, key_ops: nil, base_iv: nil)
  @kid = kid
  @alg = alg
  @key_ops = key_ops
  @base_iv = base_iv
end

Public Instance Methods

map() click to toggle source
# File lib/cose/key/base.rb, line 43
def map
  {
    LABEL_BASE_IV => base_iv,
    LABEL_KEY_OPS => key_ops,
    LABEL_ALG => alg,
    LABEL_KID => kid,
  }.compact
end
serialize() click to toggle source
# File lib/cose/key/base.rb, line 39
def serialize
  CBOR.encode(map)
end