Class: Nuntius::Key

Inherits:
Object
  • Object
show all
Defined in:
lib/nuntius/key.rb

Instance Method Summary collapse

Constructor Details

#initialize(key_data) ⇒ Key

Returns a new instance of Key.



3
4
5
# File 'lib/nuntius/key.rb', line 3

def initialize(key_data)
  @key = OpenSSL::PKey::RSA.new(key_data)
end

Instance Method Details

#decrypt(string) ⇒ Object



26
27
28
# File 'lib/nuntius/key.rb', line 26

def decrypt(string)
  @key.private_decrypt(string)
end

#encrypt(string) ⇒ Object



22
23
24
# File 'lib/nuntius/key.rb', line 22

def encrypt(string)
  @key.public_encrypt(string)
end

#private?Boolean

Returns:

  • (Boolean)


7
8
9
# File 'lib/nuntius/key.rb', line 7

def private?
  @key.private?
end

#sign(string) ⇒ Object



11
12
13
14
15
# File 'lib/nuntius/key.rb', line 11

def sign(string)
  digest = OpenSSL::Digest::SHA512.new.digest(string)

  @key.private_encrypt(digest)
end

#validate(message, signature) ⇒ Object



17
18
19
20
# File 'lib/nuntius/key.rb', line 17

def validate(message,signature)
  digest = OpenSSL::Digest::SHA512.new.digest(message)
  digest == @key.public_decrypt(signature)
end