Module: JWT::JWA::Eddsa
- Defined in:
- lib/jwt/jwa/eddsa.rb
Constant Summary collapse
- SUPPORTED =
%w[ED25519 EdDSA].freeze
- SUPPORTED_DOWNCASED =
SUPPORTED.map(&:downcase).freeze
Class Method Summary collapse
- .sign(algorithm, msg, key) ⇒ Object
- .verify(algorithm, public_key, signing_input, signature) ⇒ Object
Class Method Details
.sign(algorithm, msg, key) ⇒ Object
10 11 12 13 14 15 16 17 18 |
# File 'lib/jwt/jwa/eddsa.rb', line 10 def sign(algorithm, msg, key) unless key.is_a?(RbNaCl::Signatures::Ed25519::SigningKey) raise EncodeError, "Key given is a #{key.class} but has to be an RbNaCl::Signatures::Ed25519::SigningKey" end validate_algorithm!(algorithm) key.sign(msg) end |
.verify(algorithm, public_key, signing_input, signature) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/jwt/jwa/eddsa.rb', line 20 def verify(algorithm, public_key, signing_input, signature) unless public_key.is_a?(RbNaCl::Signatures::Ed25519::VerifyKey) raise DecodeError, "key given is a #{public_key.class} but has to be a RbNaCl::Signatures::Ed25519::VerifyKey" end validate_algorithm!(algorithm) public_key.verify(signature, signing_input) rescue RbNaCl::CryptoError false end |