Class: Sekret::Encryptor

Inherits:
Object
  • Object
show all
Defined in:
lib/sekret/encryptor.rb

Overview

Encrypt a message

Author:

  • Maddie Schipper

Since:

  • 1.0.0

Constant Summary collapse

VERSON =

The version of the encryption format

Since:

  • 1.0.0

1

Instance Method Summary collapse

Constructor Details

#initialize(private_key, payload) ⇒ Encryptor

Create a new instance of Encryptor

Parameters:

  • private_key (String)

    The RSA private key used for encrypting the message. (Must be in pem format)

  • payload (String)

    The message payload

Since:

  • 1.0.0



23
24
25
26
# File 'lib/sekret/encryptor.rb', line 23

def initialize(private_key, payload)
  @key = OpenSSL::PKey::RSA.new(private_key)
  @payload = payload
end

Instance Method Details

#callString

Perform the encryption

Returns:

  • (String)

Since:

  • 1.0.0



32
33
34
35
36
37
38
39
# File 'lib/sekret/encryptor.rb', line 32

def call
  result = Sekret::BodyEncryption.encrypt(@payload)
  header = create_header(result)
  [
    Sekret::Encoder.encode(encrypt_header(header)),
    Sekret::Encoder.encode(result.body)
  ].join('.')
end