Class: KmsClient
- Inherits:
-
Object
- Object
- KmsClient
- Defined in:
- lib/kms_client.rb
Direct Known Subclasses
Constant Summary collapse
- @@kms =
nil
Class Method Summary collapse
Instance Method Summary collapse
- #decrypt(cipher) ⇒ Object
-
#initialize(options = {}) ⇒ KmsClient
constructor
A new instance of KmsClient.
Constructor Details
#initialize(options = {}) ⇒ KmsClient
Returns a new instance of KmsClient.
7 8 9 10 |
# File 'lib/kms_client.rb', line 7 def initialize( = {}) ||= {} @kms = self.class.aws_kms_client() end |
Class Method Details
.aws_kms_client(options) ⇒ Object
19 20 21 22 23 24 25 26 |
# File 'lib/kms_client.rb', line 19 def self.aws_kms_client() params = { region: "us-east-1", stub_responses: ENV["APP_ENV"] == "test" }.merge() @@kms = Aws::KMS::Client.new(params) if @@kms.nil? @@kms end |
Instance Method Details
#decrypt(cipher) ⇒ Object
12 13 14 15 16 17 |
# File 'lib/kms_client.rb', line 12 def decrypt(cipher) # Assume value is base64 encoded: decoded = Base64.decode64(cipher) decrypted = @kms.decrypt(ciphertext_blob: decoded) decrypted[:plaintext] end |