secret-keeper 2.0.2 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 02b7af882ca00b08446cf2c709b2a78dfd6dbae26f9934a86b41bf08e6c77980
4
- data.tar.gz: be627f265da16fa8a4de25c6e03f9a58c30414d5545120cb626c6d7d647eb828
3
+ metadata.gz: e2db4da961a248ded5408882402d3c62e4dad8f8d203cf2f16e9756f77909190
4
+ data.tar.gz: 78c88f9f7c3f369dccdf8fdc29c59d8d478fc453d7de5bae8522044391113d80
5
5
  SHA512:
6
- metadata.gz: 45144e93f9f12b0269929403be0ddb017600157cb9365a22b431e9f6b3eebe6406c9a93925365182daea38cd05d9825bfff4a317dce34a70fb936da26a2308c2
7
- data.tar.gz: 8b525a0e7338805a3990fd615bad81ab7ee09557aceb82ce08455833c5321e4a258bae793fc33fc3c432357db8fb20f4ed8edd7bcd37bbc78449c4e8dc052112
6
+ metadata.gz: b4a3768c9f32c981a08f3fc7e4a7e5fac4429d2b377f889f4dbd50eb4743c3fdfbbf12b34f99935966cb71a7f57640f0a8593b312e0dc0d06e9d5877c4cd13d4
7
+ data.tar.gz: 4d8d8c47236df02b60ba5542efd8b57ee6bbdb038073a06fd3059fda5377c5108e7b29ebf513dbc67a4bd1d326768bd5ddcaa3e6b023f6f1edae2f01b52bd24d
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Secret Keeper
2
2
 
3
- Keep all your secret files within openssl
3
+ Keep all your secret files within openssl.
4
4
 
5
5
  ## Install
6
6
 
data/lib/secret-keeper.rb CHANGED
@@ -59,9 +59,9 @@ class SecretKeeper
59
59
  string = File.open('config/secret-keeper.yml', 'rb') { |f| f.read }
60
60
  fail 'config/secret-keeper.yml not existed nor not readable' if string.nil?
61
61
  begin
62
- config = YAML.load(string, aliases: true)[env] || {}
62
+ config = YAML.safe_load(string, aliases: true)[env] || {}
63
63
  rescue ArgumentError
64
- config = YAML.load(string)[env] || {}
64
+ config = YAML.safe_load(string)[env] || {}
65
65
  end
66
66
  fail 'config/secret-keeper.yml incorrect or environment not exist' if config.nil? || config.empty?
67
67
  ev_name = config['ev_name'] || 'SECRET_KEEPER'
@@ -93,9 +93,9 @@ class SecretKeeper
93
93
  def remove_production_config(file_path)
94
94
  return :ok unless file_path =~ /\.yml/
95
95
  begin
96
- hash = YAML.load_file(file_path, aliases: true)
96
+ hash = YAML.safe_load_file(file_path, aliases: true)
97
97
  rescue ArgumentError
98
- hash = YAML.load_file(file_path)
98
+ hash = YAML.safe_load_file(file_path)
99
99
  end
100
100
  hash.delete('production')
101
101
  File.write(file_path, YAML.dump(hash))
@@ -114,13 +114,13 @@ class SecretKeeper
114
114
  private
115
115
 
116
116
  def encrypt(data)
117
- cipher = @using_cipher.encrypt
117
+ cipher = OpenSSL::Cipher.new(@using_cipher.name).encrypt
118
118
  cipher.key = @cipher_key
119
119
  cipher.update(data) + cipher.final
120
120
  end
121
121
 
122
122
  def decrypt(data)
123
- cipher = @using_cipher.decrypt
123
+ cipher = OpenSSL::Cipher.new(@using_cipher.name).decrypt
124
124
  cipher.key = @cipher_key
125
125
  cipher.update(data) + cipher.final
126
126
  end
@@ -1,3 +1,7 @@
1
+ require 'yaml'
2
+ require 'fileutils'
3
+ require 'secret-keeper'
4
+
1
5
  describe SecretKeeper do
2
6
  before(:each) do
3
7
  ENV['SECRET_KEEPER'] = 'PASSWORD_HERE'
@@ -39,9 +43,9 @@ describe SecretKeeper do
39
43
  result = SecretKeeper.decrypt_files
40
44
  expect(result).to eq(true)
41
45
  begin
42
- hash = YAML.load_file('example/secrets.yml', aliases: true)
46
+ hash = YAML.safe_load_file('example/secrets.yml', aliases: true)
43
47
  rescue ArgumentError
44
- hash = YAML.load_file('example/secrets.yml')
48
+ hash = YAML.safe_load_file('example/secrets.yml')
45
49
  end
46
50
  expect(hash['development']['secret_key_base']).to eq('e8310af93d52f174f475940c41fbfb90417b300ebc19e1b24bd5639f4fe35c5ffaa5775a347ace9732958f656a47f6bb8e1fd0760b12e51b0b4fe1f65ef0a1d6')
47
51
  expect(hash['production']['secret_key_base']).to eq('339f639f4fe35c5ffaa47ace973260b12e51b0b4fe1f65effd283a5f054f47594b24bd565779e351a20dfd4ada4f777958f0417b305c06cdedbde392b8e1fd07')
@@ -57,7 +61,7 @@ describe SecretKeeper do
57
61
 
58
62
  result = SecretKeeper.decrypt_files
59
63
  expect(result).to eq(true)
60
- hash = YAML.load_file('example/secrets.yml')
64
+ hash = YAML.safe_load_file('example/secrets.yml')
61
65
  expect(hash['development']['secret_key_base']).to eq('e8310af93d52f174f475940c41fbfb90417b300ebc19e1b24bd5639f4fe35c5ffaa5775a347ace9732958f656a47f6bb8e1fd0760b12e51b0b4fe1f65ef0a1d6')
62
66
  expect(hash['production']).to be_nil
63
67
  end
@@ -90,7 +94,7 @@ describe SecretKeeper do
90
94
 
91
95
  result = SecretKeeper.decrypt_files
92
96
  expect(result).to eq(true)
93
- hash = YAML.load_file('example/secrets.yml')
97
+ hash = YAML.safe_load_file('example/secrets.yml')
94
98
  expect(hash['development']['secret_key_base']).to eq('e8310af93d52f174f475940c41fbfb90417b300ebc19e1b24bd5639f4fe35c5ffaa5775a347ace9732958f656a47f6bb8e1fd0760b12e51b0b4fe1f65ef0a1d6')
95
99
  expect(hash['production']).to be_nil
96
100
  SecretKeeper.new.tasks.each do |task|
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: secret-keeper
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ray Lee
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2023-05-18 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: rspec
@@ -16,14 +15,14 @@ dependencies:
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
- version: '3.9'
18
+ version: '3.13'
20
19
  type: :development
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - "~>"
25
24
  - !ruby/object:Gem::Version
26
- version: '3.9'
25
+ version: '3.13'
27
26
  description: A Secret keeper
28
27
  email: ray-lee@kdanmobile.com
29
28
  executables: []
@@ -40,7 +39,6 @@ licenses:
40
39
  metadata:
41
40
  source_code_uri: https://github.com/kdan-mobile-software-ltd/secret-keeper
42
41
  changelog_uri: https://github.com/kdan-mobile-software-ltd/secret-keeper/blob/master/CHANGELOG.md
43
- post_install_message:
44
42
  rdoc_options:
45
43
  - "--charset=UTF-8"
46
44
  require_paths:
@@ -56,8 +54,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
56
54
  - !ruby/object:Gem::Version
57
55
  version: '0'
58
56
  requirements: []
59
- rubygems_version: 3.4.10
60
- signing_key:
57
+ rubygems_version: 3.6.9
61
58
  specification_version: 4
62
59
  summary: Keep all your secret files within openssl
63
60
  test_files: