Sha256: 64ffd5ead25dc4f85e108ef321543d35fb4781e1b4fcc76fe3141d007f971f0f
Contents?: true
Size: 789 Bytes
Versions: 3
Compression:
Stored size: 789 Bytes
Contents
module Envault module Cryptor class Kms def initialize(profile) require 'aws-sdk' options = {} options[:region] = profile[:region] if profile[:region] options[:access_key_id] = profile[:aws_access_key_id] if profile[:aws_access_key_id] options[:secret_access_key] = profile[:aws_secret_access_key] if profile[:aws_secret_access_key] @client = Aws::KMS::Client.new(options) @key_id = profile[:key_id] end def encrypt(value) resp = @client.encrypt(key_id: @key_id, plaintext: value) Base64.strict_encode64(resp.ciphertext_blob) end def decrypt(value) resp = @client.decrypt(ciphertext_blob: Base64.strict_decode64(value)) resp.plaintext end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
envault-0.2.2 | lib/envault/cryptor/kms.rb |
envault-0.2.1 | lib/envault/cryptor/kms.rb |
envault-0.2.0 | lib/envault/cryptor/kms.rb |