onboardbase 1.2.1 → 1.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/onboardbase/version.rb +1 -1
- data/lib/onboardbase.rb +25 -17
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a39823d6df0cd53dcc253a38671051c425767985abca2a1bcb5d4b4af7322ea9
|
4
|
+
data.tar.gz: 67c1a93e7339c2f43cd916dec4fa38f972a902e83f58f8e31b259cdd1d050ac3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 555c1f1616a3e30588c6eb189a61eb5079285aaf55e08d4a8d336a5fcb00f94a9b795edb38ee98380942af4d9d6027c3a43dc42e16d241d405f5fbe5d680c9c1
|
7
|
+
data.tar.gz: bf6642fcb9fc8e62e27bc0b29b379be0f13218f1f180365229386e597140ccc77ae9369b2144b3f2bb66ed9f6784a93686a577949783a8a801014c74602f598c
|
data/lib/onboardbase/version.rb
CHANGED
data/lib/onboardbase.rb
CHANGED
@@ -118,10 +118,11 @@ module Onboardbase
|
|
118
118
|
list {
|
119
119
|
id
|
120
120
|
title
|
121
|
-
|
121
|
+
publicSecrets(filterOptions: { environmentTitle: "#{self .configuration['setup']['environment']}" }, take: 1000, skip: 0) {
|
122
122
|
list {
|
123
123
|
id
|
124
124
|
key
|
125
|
+
value
|
125
126
|
title
|
126
127
|
}
|
127
128
|
}
|
@@ -149,8 +150,8 @@ module Onboardbase
|
|
149
150
|
|
150
151
|
|
151
152
|
def getSecrets?(project)
|
152
|
-
env = project["
|
153
|
-
return
|
153
|
+
env = project["publicSecrets"]["list"]
|
154
|
+
return env if env != nil
|
154
155
|
false
|
155
156
|
end
|
156
157
|
|
@@ -166,6 +167,7 @@ module Onboardbase
|
|
166
167
|
end
|
167
168
|
|
168
169
|
def aes256_cbc_decrypt(key, data, iv)
|
170
|
+
# p key
|
169
171
|
key = Digest::SHA256.digest(key) if(key.kind_of?(String) && 32 != key.bytesize)
|
170
172
|
iv = Digest::MD5.digest(iv) if(iv.kind_of?(String) && 16 != iv.bytesize)
|
171
173
|
aes = OpenSSL::Cipher.new('AES-256-CBC')
|
@@ -175,21 +177,27 @@ module Onboardbase
|
|
175
177
|
aes.update(data) + aes.final
|
176
178
|
end
|
177
179
|
|
180
|
+
def decodeCipher(cipher, secretPhrase)
|
181
|
+
secret = Base64.decode64(cipher)
|
182
|
+
unless secret[0..7] == 'Salted__'
|
183
|
+
puts "Invalid encrypted data"
|
184
|
+
exit(1)
|
185
|
+
end
|
186
|
+
salt = secret[8..15]
|
187
|
+
key_iv = bytes_to_key(secretPhrase, salt, 48)
|
188
|
+
key = key_iv[0..31]
|
189
|
+
iv = key_iv[32..key_iv.length-1]
|
190
|
+
aes256_cbc_decrypt(key, secret[16..secret.length-1], iv)
|
191
|
+
end
|
178
192
|
def parseSecrets(secrets)
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
key = key_iv[0..31]
|
188
|
-
iv = key_iv[32..key_iv.length-1]
|
189
|
-
parsedSecret = aes256_cbc_decrypt(key, secret[16..secret.length-1], iv)
|
190
|
-
secrets[i] = JSON.parse(parsedSecret)
|
191
|
-
end
|
192
|
-
secrets
|
193
|
+
passcode = self.configuration["passcode"]
|
194
|
+
secrets.each_with_index do |secret, i|
|
195
|
+
|
196
|
+
secret["key"] = self.decodeCipher(secret["key"], passcode)
|
197
|
+
secret["value"] = self.decodeCipher(secret["value"], passcode)
|
198
|
+
secrets[i] = secret
|
199
|
+
end
|
200
|
+
secrets
|
193
201
|
end
|
194
202
|
|
195
203
|
def setEnv(secretsHash)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: onboardbase
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Onboardbase
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|