Class: Nuntius::Key
- Inherits:
-
Object
- Object
- Nuntius::Key
- Defined in:
- lib/nuntius/key.rb
Instance Method Summary collapse
- #decrypt(string) ⇒ Object
- #encrypt(string) ⇒ Object
-
#initialize(key_data) ⇒ Key
constructor
A new instance of Key.
- #private? ⇒ Boolean
- #sign(string) ⇒ Object
- #validate(message, signature) ⇒ Object
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
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(,signature) digest = OpenSSL::Digest::SHA512.new.digest() digest == @key.public_decrypt(signature) end |