Method: SSHData::PublicKey::RSA#verify

Defined in:
lib/ssh_data/public_key/rsa.rb

#verify(signed_data, signature) ⇒ Object

Verify an SSH signature.

signed_data - The String message that the signature was calculated over. signature - The binarty String signature with SSH encoding.

Returns boolean.



32
33
34
35
36
37
38
39
40
41
# File 'lib/ssh_data/public_key/rsa.rb', line 32

def verify(signed_data, signature)
  sig_algo, raw_sig, _ = Encoding.decode_signature(signature)
  digest = ALGO_DIGESTS[sig_algo]

  if digest.nil?
    raise DecodeError, "bad signature algorithm: #{sig_algo.inspect}"
  end

  openssl.verify(digest.new, raw_sig, signed_data)
end