secret-keeper 0.1.2 → 0.2.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.
Files changed (3) hide show
  1. checksums.yaml +5 -5
  2. data/lib/secret-keeper.rb +11 -9
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 9093b295a3f96e488c8ecb47cbcd5385f3ef1aae
4
- data.tar.gz: 2622a3bad595165738c20adf13e52b655acf87cf
2
+ SHA256:
3
+ metadata.gz: 49be9c6350530e4855836833f631aa841df1df85501ff00c44da8c62939eea4d
4
+ data.tar.gz: 36f4ee5f518c3c65ee10fa9c01d5c612cc7989ce4c1877eb62a10f05e273423c
5
5
  SHA512:
6
- metadata.gz: dbd1620801d06d1a86d9941c5755180ff2732d1c9ab1c4f34544d0834ab784e022451e050c86b9258ba261968839f30d3d28d781c3083da05d572d7f2d862187
7
- data.tar.gz: 4d86c1f94a2ce40ddb08277adffc330162780fe44c0e3bbc714455df98951ec511daa8a8e17fe3503e086e600b67ced297b33eb6db623fb7797b543482801ce6
6
+ metadata.gz: b916e8add32b2cb01c858f5312046a4c7fee841b73500c64dbc250e069b098a58e36b76a233c48b7f98b1a2ff4b4de5042f8525afb7e9b0912c874f32564d1ca
7
+ data.tar.gz: 48aabb92cfdd6ecb11cde87f3fc9ac863ed391ba32b6c1d088a287e3ed7aca7e2f73614aff573dd6a1330232d693dcbdf6f2135f149325bbdec8e5a6d04084d7
@@ -3,9 +3,9 @@ require 'yaml'
3
3
 
4
4
  class SecretKeeper
5
5
  def self.encrypt_files
6
+ sk = SecretKeeper.new
6
7
  puts 'Encrypting...'
7
8
  ok_queue = []
8
- sk = SecretKeeper.new
9
9
  sk.tasks.each do |task|
10
10
  from = task['encrypt_from']
11
11
  to = task['encrypt_to']
@@ -14,14 +14,15 @@ class SecretKeeper
14
14
  ok_queue << result if result == :ok
15
15
  puts " * #{from} --> #{to}, #{result}"
16
16
  end
17
- puts 'Done!'
18
- ok_queue.count == sk.tasks.count
17
+ success = ok_queue.count == sk.tasks.count
18
+ puts success ? 'Done!' : 'Failed!'
19
+ success
19
20
  end
20
21
 
21
22
  def self.decrypt_files
23
+ sk = SecretKeeper.new
22
24
  puts 'Decrypting...'
23
25
  ok_queue = []
24
- sk = SecretKeeper.new
25
26
  sk.tasks.each do |task|
26
27
  from = task['decrypt_from'] || task['encrypt_to']
27
28
  to = task['decrypt_to'] || task['encrypt_from']
@@ -30,8 +31,9 @@ class SecretKeeper
30
31
  ok_queue << result if result == :ok
31
32
  puts " * #{from} --> #{to}, #{result}"
32
33
  end
33
- puts 'Done!'
34
- ok_queue.count == sk.tasks.count
34
+ success = ok_queue.count == sk.tasks.count
35
+ puts success ? 'Done!' : 'Failed!'
36
+ success
35
37
  end
36
38
 
37
39
  def initialize
@@ -40,7 +42,7 @@ class SecretKeeper
40
42
  string = File.open('config/secret-keeper.yml', 'rb') { |f| f.read }
41
43
  config = YAML.load(string)[env]
42
44
  fail 'config/secret-keeper.yml incorrect or environment not exist' if config.nil?
43
-
45
+
44
46
  @tasks = config['tasks']
45
47
  @using_cipher = OpenSSL::Cipher.new(config['cipher'])
46
48
  end
@@ -69,13 +71,13 @@ class SecretKeeper
69
71
 
70
72
  def encrypt(data)
71
73
  cipher = @using_cipher.encrypt
72
- cipher.key = Digest::SHA1.hexdigest(ENV['OPENSSL_PASS'])
74
+ cipher.key = Digest::SHA2.hexdigest(ENV['OPENSSL_PASS'])[0..(cipher.key_len-1)]
73
75
  cipher.update(data) + cipher.final
74
76
  end
75
77
 
76
78
  def decrypt(data)
77
79
  cipher = @using_cipher.decrypt
78
- cipher.key = Digest::SHA1.hexdigest(ENV['OPENSSL_PASS'])
80
+ cipher.key = Digest::SHA2.hexdigest(ENV['OPENSSL_PASS'])[0..(cipher.key_len-1)]
79
81
  cipher.update(data) + cipher.final
80
82
  end
81
83
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: secret-keeper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ray Lee
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-02 00:00:00.000000000 Z
11
+ date: 2018-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -55,7 +55,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
55
55
  version: '0'
56
56
  requirements: []
57
57
  rubyforge_project:
58
- rubygems_version: 2.6.14
58
+ rubygems_version: 2.7.6
59
59
  signing_key:
60
60
  specification_version: 4
61
61
  summary: Keep all your secret files within openssl