secret-keeper 0.1.2 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/lib/secret-keeper.rb +11 -9
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 49be9c6350530e4855836833f631aa841df1df85501ff00c44da8c62939eea4d
|
4
|
+
data.tar.gz: 36f4ee5f518c3c65ee10fa9c01d5c612cc7989ce4c1877eb62a10f05e273423c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b916e8add32b2cb01c858f5312046a4c7fee841b73500c64dbc250e069b098a58e36b76a233c48b7f98b1a2ff4b4de5042f8525afb7e9b0912c874f32564d1ca
|
7
|
+
data.tar.gz: 48aabb92cfdd6ecb11cde87f3fc9ac863ed391ba32b6c1d088a287e3ed7aca7e2f73614aff573dd6a1330232d693dcbdf6f2135f149325bbdec8e5a6d04084d7
|
data/lib/secret-keeper.rb
CHANGED
@@ -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
|
-
|
18
|
-
|
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
|
-
|
34
|
-
|
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::
|
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::
|
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.
|
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-
|
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
|
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
|