fastlane-plugin-match_keystore 0.1.8 → 0.1.9
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 42c7915b7d46b87470d41acfd251257c04ce89460ac60a08318404530a1fbd24
|
4
|
+
data.tar.gz: 07f280f892d41adee35f025218da2a1eeb345f17c9cf27d2d027246f4b248940
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 85ff5b2dda6f5a38714a09aea05fb279ec87015e970860ac3238f10280d233195936b84ef617d6bfafca36ee9d164f4a1c6267d8ea76e75305a40f4d44b55627
|
7
|
+
data.tar.gz: f8e3fba2336ef34b35300d38535d2f5fbb5798af9efc50f268fa33a7a05282157f1a46755953eac2d99b362642560b8dc9e7b6255377a13e0fae9b5ebcfcd60d
|
data/README.md
CHANGED
@@ -52,24 +52,28 @@ module Fastlane
|
|
52
52
|
|
53
53
|
build_tools_last_version
|
54
54
|
end
|
55
|
+
|
56
|
+
def self.check_openssl_version
|
57
|
+
output = `openssl version`
|
58
|
+
if !output.start_with?("OpenSSL")
|
59
|
+
raise "Please install OpenSSL 1.1.1 at least https://www.openssl.org/"
|
60
|
+
end
|
61
|
+
UI.message("OpenSSL version: " + output.strip)
|
62
|
+
end
|
55
63
|
|
56
64
|
def self.gen_key(key_path, password)
|
57
65
|
`rm -f #{key_path}`
|
58
|
-
|
59
|
-
`echo "#{password}" | openssl dgst -sha512 | cut -c1-128 > #{key_path}`
|
60
|
-
else
|
61
|
-
`echo "#{password}" | openssl dgst -sha512 | awk '{print $2}' | cut -c1-128 > #{key_path}`
|
62
|
-
end
|
66
|
+
`echo "#{password}" | openssl dgst -sha512 | awk '{print $2}' | cut -c1-128 > #{key_path}`
|
63
67
|
end
|
64
68
|
|
65
69
|
def self.encrypt_file(clear_file, encrypt_file, key_path)
|
66
70
|
`rm -f #{encrypt_file}`
|
67
|
-
`openssl enc -aes-256-cbc -salt -in #{clear_file} -out #{encrypt_file} -pass file:#{key_path}`
|
71
|
+
`openssl enc -aes-256-cbc -salt -pbkdf2 -in #{clear_file} -out #{encrypt_file} -pass file:#{key_path}`
|
68
72
|
end
|
69
73
|
|
70
74
|
def self.decrypt_file(encrypt_file, clear_file, key_path)
|
71
75
|
`rm -f #{clear_file}`
|
72
|
-
`openssl enc -d -aes-256-cbc -in #{encrypt_file} -out #{clear_file} -pass file:#{key_path}`
|
76
|
+
`openssl enc -d -aes-256-cbc -pbkdf2 -in #{encrypt_file} -out #{clear_file} -pass file:#{key_path}`
|
73
77
|
end
|
74
78
|
|
75
79
|
def self.sign_apk(apk_path, keystore_path, key_password, alias_name, alias_password, zip_align)
|
@@ -151,21 +155,20 @@ module Fastlane
|
|
151
155
|
raise "The environment variable ANDROID_HOME is not defined, or Android SDK is not installed!"
|
152
156
|
end
|
153
157
|
|
158
|
+
# Check OpenSSL:
|
159
|
+
self.check_openssl_version
|
160
|
+
|
154
161
|
dir_name = ENV['HOME'] + '/.match_keystore'
|
155
162
|
unless File.directory?(dir_name)
|
156
163
|
UI.message("Creating '.match_keystore' working directory...")
|
157
164
|
FileUtils.mkdir_p(dir_name)
|
158
165
|
end
|
159
166
|
|
160
|
-
UI.message("OpenSSL version: ")
|
161
|
-
puts `openssl version`
|
162
|
-
|
163
167
|
key_path = dir_name + '/key.hex'
|
164
168
|
if !File.file?(key_path)
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
security_password = ci_password
|
169
|
+
security_password = other_action.prompt(text: "Security password: ", secure_text: true, ci_input: ci_password)
|
170
|
+
if security_password.to_s.strip.empty?
|
171
|
+
raise "Security password is not defined! Please use 'ci_password' parameter for CI."
|
169
172
|
end
|
170
173
|
UI.message "Generating security key..."
|
171
174
|
self.gen_key(key_path, security_password)
|
@@ -211,8 +214,17 @@ module Fastlane
|
|
211
214
|
end
|
212
215
|
|
213
216
|
key_password = other_action.prompt(text: "Keystore Password: ")
|
217
|
+
if key_password.to_s.strip.empty?
|
218
|
+
raise "Keystore Password is not definined!"
|
219
|
+
end
|
214
220
|
alias_name = other_action.prompt(text: "Keystore Alias name: ")
|
221
|
+
if alias_name.to_s.strip.empty?
|
222
|
+
raise "Keystore Alias name is not definined!"
|
223
|
+
end
|
215
224
|
alias_password = other_action.prompt(text: "Keystore Alias password: ")
|
225
|
+
if alias_password.to_s.strip.empty?
|
226
|
+
raise "Keystore Alias password is not definined!"
|
227
|
+
end
|
216
228
|
|
217
229
|
# https://developer.android.com/studio/publish/app-signing
|
218
230
|
if !File.file?(existing_keystore)
|
@@ -326,7 +338,8 @@ module Fastlane
|
|
326
338
|
def self.output
|
327
339
|
[
|
328
340
|
['MATCH_KEYSTORE_PATH', 'File path of the Keystore fot the App.'],
|
329
|
-
['MATCH_KEYSTORE_ALIAS_NAME', 'Keystore Alias Name.']
|
341
|
+
['MATCH_KEYSTORE_ALIAS_NAME', 'Keystore Alias Name.'],
|
342
|
+
['MATCH_KEYSTORE_APK_SIGNED', 'Path of the signed APK.']
|
330
343
|
]
|
331
344
|
end
|
332
345
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-match_keystore
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christopher NEY
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-04-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pry
|