Method: JOSE::JWK::KTY_OKP_Ed448.generate_key

Defined in:
lib/jose/jwk/kty_okp_ed448.rb

.generate_key(okp_params) ⇒ Object

JOSE::JWK::KTY callbacks



58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/jose/jwk/kty_okp_ed448.rb', line 58

def self.generate_key(okp_params)
  secret = nil
  if okp_params.is_a?(Array) and (okp_params.length == 2 or okp_params.length == 3) and okp_params[0] == :okp and okp_params[1] == :Ed448
    secret = okp_params[2] if okp_params.length == 3
  elsif okp_params.is_a?(String)
    secret = okp_params
  end
  if secret.nil? or (secret.is_a?(String) and (secret.bytesize == SECRET_BYTES))
    return from_okp([:Ed448, JOSE::JWA::Curve448.ed448_keypair(secret)[1]])
  else
    raise ArgumentError, "'secret' must be nil or a String of #{SECRET_BYTES} bytes"
  end
end