kms_rails 0.0.10 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2259bfaae2b2ec8806502f90301a83669ecb3ac1
4
- data.tar.gz: 5e8e6a38a4c5bdcc707f3e793a4ca596d5ad910f
3
+ metadata.gz: 4262167f60f496910dab0e409a0fc7bc1dc68fd8
4
+ data.tar.gz: face00d402ebbef3493be1865cdcc722cc61e890
5
5
  SHA512:
6
- metadata.gz: 60537ee80c93810d3286fe73d312382d6d4b5f21c92793e215b76d72b50104277050b6e73d80118aef73d0f3b1a5ae68d3f3facd1105db504c0eb1659ebef414
7
- data.tar.gz: 1e4cfe01b9ed84cd44560e1d7b27110ad5ec7c097be408d5e46f22aedd32aeb37b17a883851df3a9656c6f3cff4164bd271130ae70e8b7f03d4eb03bd747ce8b
6
+ metadata.gz: 4efc755fa75e3943b25f348023de52bf2767b22ab7334109bd5efd4c5d4de13b0fee1a4e3d38784d4affbfa6dfa1ff54c0d15f955044f4c62e89a3e6658bb5b4
7
+ data.tar.gz: d52ddf74f34fd2a938babf03d490705fc7b2484ea55f7781c3cb1d6d0d3f6d38edb04aae81e7af18c5c2f8a9a9164e3b2345dbfba876fdaff9c4b7373eb7f1fd
data/.travis.yml CHANGED
@@ -1,3 +1,7 @@
1
+ env:
2
+ global:
3
+ - CC_TEST_REPORTER_ID=156fab7dad33afa6dd4b24ab5721a01e5bbb41c3f07c380195695102b7363e0a
4
+
1
5
  language: ruby
2
6
  rvm:
3
7
  - 2.1
@@ -5,13 +9,12 @@ rvm:
5
9
  - 2.3
6
10
  - 2.4
7
11
  - 2.5
8
-
9
- addons:
10
- code_climate:
11
- repo_token: 156fab7dad33afa6dd4b24ab5721a01e5bbb41c3f07c380195695102b7363e0a
12
12
 
13
- script: bundle exec rspec spec
14
- before_install:
15
- - gem update bundler
16
- after_success:
17
- - bundle exec codeclimate-test-reporter
13
+ before_script:
14
+ - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
15
+ - chmod +x ./cc-test-reporter
16
+ - ./cc-test-reporter before-build
17
+ script:
18
+ - bundle exec rspec spec
19
+ after_script:
20
+ - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
data/README.md CHANGED
@@ -145,7 +145,7 @@ Directly specifying a key_id as a UUID or with the `alias/` prefix explicitly de
145
145
  ## Other stuff
146
146
 
147
147
  ### Notes
148
- This gem has been developed against Ruby 2.3.1, Rails 4.2, and AWS SDK v2. Credit where credit is due, strongbox by spikex was used as an inspiration and guide when creating this. https://github.com/spikex/strongbox
148
+ This gem has been developed against Ruby 2.3.1, Rails 4.2, and AWS SDK v3. Credit where credit is due, strongbox by spikex was used as an inspiration and guide when creating this. https://github.com/spikex/strongbox
149
149
 
150
150
  ### Disclaimer
151
151
  No claims are made about enhanced security when using this gem.
data/kms_rails.gemspec CHANGED
@@ -4,35 +4,34 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'kms_rails/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "kms_rails"
7
+ spec.name = 'kms_rails'
8
8
  spec.version = KmsRails::VERSION
9
- spec.authors = ["Ash Tyndall", "Justin Ouellette"]
10
- spec.email = ["ash@appbot.co"]
9
+ spec.authors = ['Ash Tyndall', 'Justin Ouellette']
10
+ spec.email = ['ash@appbot.co']
11
11
 
12
12
  spec.summary = %q{AWS KMS encryption for ActiveRecord & ActiveJob.}
13
13
  spec.description = %q{Quickly add KMS encryption and decryption to your ActiveRecord model attributes and ActiveJob parameters. Improves upon kms_attrs with ActiveJob support, more efficient binary serialization and a test suite.}
14
- spec.homepage = "https://github.com/appbot/kms_rails"
15
- spec.license = "GPLv3"
14
+ spec.homepage = 'https://github.com/appbot/kms_rails'
15
+ spec.license = 'GPLv3'
16
16
 
17
17
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
- spec.bindir = "exe"
18
+ spec.bindir = 'exe'
19
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
- spec.require_paths = ["lib"]
20
+ spec.require_paths = ['lib']
21
21
  spec.required_ruby_version = '>= 2.1'
22
22
 
23
- spec.add_runtime_dependency "activerecord", ">= 4"
24
- spec.add_runtime_dependency "activejob", ">= 4"
25
- spec.add_runtime_dependency "aws-sdk", "~> 2"
26
- spec.add_runtime_dependency "msgpack"
23
+ spec.add_runtime_dependency 'activerecord', '>= 4'
24
+ spec.add_runtime_dependency 'activejob', '>= 4'
25
+ spec.add_runtime_dependency 'aws-sdk-kms', '~> 1'
26
+ spec.add_runtime_dependency 'msgpack'
27
27
 
28
- spec.add_development_dependency "bundler", "~> 1.12"
29
- spec.add_development_dependency "rake", "~> 10.0"
30
- spec.add_development_dependency "rspec"
31
- spec.add_development_dependency "rspec-mocks"
32
- spec.add_development_dependency "simplecov"
33
- spec.add_development_dependency "codeclimate-test-reporter"
34
- spec.add_development_dependency "with_model"
35
- spec.add_development_dependency "byebug"
36
- spec.add_development_dependency "sqlite3"
37
- spec.add_development_dependency "database_cleaner"
28
+ spec.add_development_dependency 'bundler', '~> 1.12'
29
+ spec.add_development_dependency 'rake', '~> 10.0'
30
+ spec.add_development_dependency 'rspec'
31
+ spec.add_development_dependency 'rspec-mocks'
32
+ spec.add_development_dependency 'simplecov'
33
+ spec.add_development_dependency 'with_model'
34
+ spec.add_development_dependency 'byebug'
35
+ spec.add_development_dependency 'sqlite3'
36
+ spec.add_development_dependency 'database_cleaner'
38
37
  end
@@ -1,7 +1,7 @@
1
1
  require 'base64'
2
2
  require 'openssl'
3
3
  require 'msgpack'
4
- require 'aws-sdk'
4
+ require 'aws-sdk-kms'
5
5
  require 'kms_rails/configuration'
6
6
 
7
7
  module KmsRails
@@ -41,15 +41,15 @@ module KmsRails
41
41
  return nil if data_obj.nil?
42
42
 
43
43
  decrypted = decrypt_attr(
44
- data_obj['blob'],
44
+ data_obj['blob'],
45
45
  aws_decrypt_key(data_obj['key']),
46
46
  data_obj['iv']
47
47
  )
48
-
48
+
49
49
  decrypted = MessagePack.unpack(decrypted) if @msgpack
50
50
  decrypted
51
51
  end
52
-
52
+
53
53
  def decrypt64(data_obj)
54
54
  return nil if data_obj.nil?
55
55
  decrypt( self.class.from64(data_obj) )
@@ -61,7 +61,7 @@ module KmsRails
61
61
  @base_key_id.call
62
62
  when String
63
63
  if @base_key_id =~ /\A\w{8}-\w{4}-\w{4}-\w{4}-\w{12}\z/ || @base_key_id.start_with?('alias/') # if UUID or direct alias
64
- @base_key_id
64
+ @base_key_id
65
65
  else
66
66
  'alias/' + KmsRails.configuration.alias_prefix + @base_key_id
67
67
  end
@@ -85,7 +85,7 @@ module KmsRails
85
85
  data_obj.map { |k,v| [k, Base64.strict_decode64(v)] }.to_h
86
86
  end
87
87
 
88
- private
88
+ private
89
89
 
90
90
  def apply_context(args, key, value)
91
91
  if key && value
@@ -1,4 +1,4 @@
1
- require 'aws-sdk'
1
+ require 'aws-sdk-kms'
2
2
  require 'msgpack'
3
3
 
4
4
  module KmsRails
@@ -1,3 +1,3 @@
1
1
  module KmsRails
2
- VERSION = "0.0.10"
2
+ VERSION = "0.1.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kms_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ash Tyndall
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2018-02-16 00:00:00.000000000 Z
12
+ date: 2018-05-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
@@ -40,19 +40,19 @@ dependencies:
40
40
  - !ruby/object:Gem::Version
41
41
  version: '4'
42
42
  - !ruby/object:Gem::Dependency
43
- name: aws-sdk
43
+ name: aws-sdk-kms
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: '2'
48
+ version: '1'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: '2'
55
+ version: '1'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: msgpack
58
58
  requirement: !ruby/object:Gem::Requirement
@@ -137,20 +137,6 @@ dependencies:
137
137
  - - ">="
138
138
  - !ruby/object:Gem::Version
139
139
  version: '0'
140
- - !ruby/object:Gem::Dependency
141
- name: codeclimate-test-reporter
142
- requirement: !ruby/object:Gem::Requirement
143
- requirements:
144
- - - ">="
145
- - !ruby/object:Gem::Version
146
- version: '0'
147
- type: :development
148
- prerelease: false
149
- version_requirements: !ruby/object:Gem::Requirement
150
- requirements:
151
- - - ">="
152
- - !ruby/object:Gem::Version
153
- version: '0'
154
140
  - !ruby/object:Gem::Dependency
155
141
  name: with_model
156
142
  requirement: !ruby/object:Gem::Requirement