Module: Linzer::JWS

Defined in:
lib/linzer/jws.rb

Defined Under Namespace

Classes: Key

Class Method Summary collapse

Class Method Details

.generate_key(algorithm:) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/linzer/jws.rb', line 15

def generate_key(algorithm:)
  case String(algorithm)
  when "EdDSA"
    ed25519_keypair = ::Ed25519::SigningKey.generate
    material = JWT::JWK.new(ed25519_keypair)
    Linzer::JWS::Key.new(material)
  else
    err_msg = "Algorithm '#{algorithm}' is unsupported or not implemented yet."
    raise Linzer::Error, err_msg
  end
end

.jwk_import(key, params = {}) ⇒ Object



9
10
11
12
# File 'lib/linzer/jws.rb', line 9

def jwk_import(key, params = {})
  material = JWT::JWK.import(key)
  Linzer::JWS::Key.new(material, params)
end