class Paseto::V2::Public::SecretKey

secret-key used for signing and verifying

Public Class Methods

decode64(encoded_key) click to toggle source
# File lib/paseto/public.rb, line 28
def self.decode64(encoded_key)
  new(Paseto.decode64(encoded_key))
end
decode_hex(encoded_key) click to toggle source
# File lib/paseto/public.rb, line 32
def self.decode_hex(encoded_key)
  new(Paseto.decode_hex(encoded_key))
end
generate() click to toggle source
# File lib/paseto/public.rb, line 24
def self.generate
  new(RbNaCl::SigningKey.generate.to_bytes)
end
new(key) click to toggle source
# File lib/paseto/public.rb, line 36
def initialize(key)
  @key = key
  @nacl = RbNaCl::SigningKey.new(key)
end

Public Instance Methods

encode64() click to toggle source
# File lib/paseto/public.rb, line 57
def encode64
  Paseto.encode64(@key)
end
encode_hex() click to toggle source
# File lib/paseto/public.rb, line 61
def encode_hex
  Paseto.encode_hex(@key)
end
public_key() click to toggle source
# File lib/paseto/public.rb, line 53
def public_key
  PublicKey.new(@nacl.verify_key.to_bytes)
end
sign(message, footer = EMPTY_FOOTER) click to toggle source
# File lib/paseto/public.rb, line 41
def sign(message, footer = EMPTY_FOOTER)
  data = encode_message(message, footer)
  # Sign a message with the signing key
  signature = @nacl.sign(data)

  Paseto::Token.new(HEADER, message + signature, footer).to_message
end
verify(message, footer = nil) click to toggle source
# File lib/paseto/public.rb, line 49
def verify(message, footer = nil)
  public_key.verify(message, footer)
end