Method: Sodium::Sign.verify

Defined in:
lib/sodium/sign.rb

.verify(key, message, signature) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/sodium/sign.rb', line 18

def self.verify(key, message, signature)
  key       = self._public_key(key)
  signature = self._signature(message, signature)
  message   = Sodium::Buffer.empty(signature.bytesize)
  mlen      = FFI::MemoryPointer.new(:ulong_long, 1, true)

  self.implementation.nacl_open(
    message   .to_ptr,
    mlen,
    signature .to_ptr,
    signature .bytesize,
    key       .to_ptr
  )
end