Class: Ree::Licensing::Encryptor
- Defined in:
- lib/ree/licensing/encryptor.rb
Class Method Summary collapse
- .aes_decrypt(encrypted_data, key, iv) ⇒ Object
- .aes_encrypt(data, key, iv) ⇒ Object
- .generate_aes_key ⇒ Object
- .rsa_private_encrypt(payload_json, private_key_pem) ⇒ Object
- .rsa_public_decrypt(encrypted_payload, public_key_pem) ⇒ Object
Class Method Details
.aes_decrypt(encrypted_data, key, iv) ⇒ Object
28 29 30 31 32 33 34 |
# File 'lib/ree/licensing/encryptor.rb', line 28 def self.aes_decrypt(encrypted_data, key, iv) cipher = OpenSSL::Cipher::AES256.new(:CBC) cipher.decrypt cipher.key = key cipher.iv = iv cipher.update(encrypted_data) + cipher.final end |
.aes_encrypt(data, key, iv) ⇒ Object
20 21 22 23 24 25 26 |
# File 'lib/ree/licensing/encryptor.rb', line 20 def self.aes_encrypt(data, key, iv) cipher = OpenSSL::Cipher::AES256.new(:CBC) cipher.encrypt cipher.key = key cipher.iv = iv cipher.update(data) + cipher.final end |
.generate_aes_key ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'lib/ree/licensing/encryptor.rb', line 11 def self.generate_aes_key cipher = OpenSSL::Cipher::AES256.new(:CBC) cipher.encrypt { key: cipher.random_key, iv: cipher.random_iv } end |
.rsa_private_encrypt(payload_json, private_key_pem) ⇒ Object
36 37 38 39 |
# File 'lib/ree/licensing/encryptor.rb', line 36 def self.rsa_private_encrypt(payload_json, private_key_pem) rsa = OpenSSL::PKey::RSA.new(private_key_pem) rsa.private_encrypt(payload_json) end |
.rsa_public_decrypt(encrypted_payload, public_key_pem) ⇒ Object
41 42 43 44 |
# File 'lib/ree/licensing/encryptor.rb', line 41 def self.rsa_public_decrypt(encrypted_payload, public_key_pem) rsa = OpenSSL::PKey::RSA.new(public_key_pem) rsa.public_decrypt(encrypted_payload) end |