onboardbase 1.2.1 → 1.2.2

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
  SHA256:
3
- metadata.gz: e524b2331696a6ebdca37ae5944cbd6e916f3f9d006f401a456c7c196db84647
4
- data.tar.gz: 62e49afe3c1a750003211dbcc190530ca79cdaad0b8a0d9bde3219865e157b2a
3
+ metadata.gz: 4dfaf721519fe576a033bfc35aa9881fb484c259f633bfd993cf0778fbe7905a
4
+ data.tar.gz: 26d16c10223a217d1bdad94113eb216da4b93d8f0cb2d0182e720841d981128c
5
5
  SHA512:
6
- metadata.gz: f963f79095443bde49a0b1d5f8ae716f3b65a2153ccb2d3e860d06ff9fdf5c5d3e60d336bd8e4025e52a35c8968ca58e14b0c170471289d3bcd1e34f8d89ee6d
7
- data.tar.gz: 378e9ca6285b69ec63fdef67efb7f406ae3f0dd778d79442c388c078a39c729213af06784a8d9093c37cfeb12c62adbe70cfe27da642998055702f4ac7bd9ad2
6
+ metadata.gz: 928e64878264216edc2bd163138ec0f91723546e1a56bafa0970ec8c97dff21e310500bfdbbf35cbbdfdd733d73b60ae179c37868ef5d9c1e095e37845832232
7
+ data.tar.gz: 17a4890a8c3191c4d1a876ebf55c93d5123e13548e904bd1fc80752b8079cc2a768b692dea96ca096b748334433036ee9c763250723c6f67620ae2d5f8ff6c74
@@ -1,3 +1,3 @@
1
1
  module Onboardbase
2
- VERSION = '1.2.1'
2
+ VERSION = '1.2.2'
3
3
  end
data/lib/onboardbase.rb CHANGED
@@ -118,10 +118,11 @@ module Onboardbase
118
118
  list {
119
119
  id
120
120
  title
121
- publicEnvironments(filterOptions: { title: "#{self .configuration['setup']['environment']}" }) {
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["publicEnvironments"]["list"][0]
153
- return JSON.parse(env["key"]) if env != nil
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
- secrets.each_with_index do |secret, i|
180
- secret = Base64.decode64(secret)
181
- unless secret[0..7] == 'Salted__'
182
- puts "Invalid encrypted data"
183
- exit(1)
184
- end
185
- salt = secret[8..15]
186
- key_iv = bytes_to_key(self.configuration["passcode"], salt, 48)
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.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Onboardbase
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-22 00:00:00.000000000 Z
11
+ date: 2022-11-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip