certstepper 1.2.5 → 1.2.7
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 +4 -4
- data/lib/certstepper.rb +45 -22
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 15ed9c970cb45f334a6ce7f85b58433c16443ff4
|
4
|
+
data.tar.gz: a967238021d1624931bc1c445e1d881ada221ff6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 058d9ee1c07b797e70528fedabb5b3d8612fd885446caf9307cc2e5f92c9306a132355d176e0f8448e54ede2660e6ba4869c85cd6c9e2a9e05e472e0da14a981
|
7
|
+
data.tar.gz: efe19a13b7999f3752c2431e12ad297735ef4322a321e60c98768c55070cba898de0dca743b8e250c116df792afe680b022ed5c254e228705e11a4fb92a5fe4a
|
data/lib/certstepper.rb
CHANGED
@@ -5,6 +5,7 @@ require "cert"
|
|
5
5
|
require "sigh"
|
6
6
|
require 'optparse'
|
7
7
|
require 'colorize'
|
8
|
+
require 'openssl'
|
8
9
|
|
9
10
|
class String
|
10
11
|
def strip_control_characters()
|
@@ -127,6 +128,11 @@ module CertStepper
|
|
127
128
|
system("open #{console_root_path}")
|
128
129
|
puts "Apple Cert Create Stepper\n"
|
129
130
|
|
131
|
+
@@base_dir = "#{Dir.home}/Library/CertStepper"
|
132
|
+
if !Dir.exist? @@base_dir
|
133
|
+
Dir.mkdir @@base_dir
|
134
|
+
end
|
135
|
+
|
130
136
|
failed_cert_array = []
|
131
137
|
|
132
138
|
@@certs.each do |cert|
|
@@ -134,20 +140,24 @@ module CertStepper
|
|
134
140
|
|
135
141
|
if !generateCertSuccessfully?(cert) || @options[:force]
|
136
142
|
|
137
|
-
cert_path =
|
138
|
-
|
143
|
+
cert_path = @@base_dir + "/#{cert.profile_name}"
|
144
|
+
final_path = console_root_path + "/#{cert.profile_name}"
|
145
|
+
createDir final_path
|
146
|
+
if !Dir.exist? cert_path
|
147
|
+
Dir.mkdir cert_path
|
148
|
+
end
|
139
149
|
|
140
150
|
keychain_entry = CredentialsManager::AccountManager.new(user:cert.email , password: cert.password)
|
141
151
|
keychain_entry.add_to_keychain
|
142
152
|
|
143
153
|
|
144
|
-
createKeychain
|
154
|
+
#createKeychain cert
|
145
155
|
system "cert -u #{cert.email} -o #{cert_path} #{@options[:cert_type]}"
|
146
|
-
dealCert cert , cert_path
|
156
|
+
dealCert cert , cert_path , final_path
|
147
157
|
|
148
158
|
|
149
159
|
system "produce -u #{cert.email} -a #{cert.profile_id} --app_name #{cert.profile_name} --skip_itc"
|
150
|
-
system "sigh -a #{cert.profile_id} -u #{cert.email} -o #{
|
160
|
+
system "sigh -a #{cert.profile_id} -u #{cert.email} -o #{final_path} #{@options[:profile_type]} -z"
|
151
161
|
#system "sigh -a #{cert.profile_id} -u #{cert.email} -o #{cert_path} --adhoc"
|
152
162
|
|
153
163
|
|
@@ -174,11 +184,9 @@ module CertStepper
|
|
174
184
|
def self.deleteUnusefulFile(de_path)
|
175
185
|
console_de_path = de_path.gsub /[\s]/ , "\\ "
|
176
186
|
Dir.entries(de_path).each do |file_name|
|
177
|
-
if file_name.end_with? '.
|
187
|
+
if file_name.end_with? '.pem'
|
178
188
|
file_path = "#{de_path}/#{file_name}"
|
179
189
|
system "rm #{console_de_path}/#{file_name}"
|
180
|
-
system "rm #{console_de_path}/#{File.basename(file_path,'.*')}.p12"
|
181
|
-
system "rm #{console_de_path}/#{File.basename(file_path,'.*')}.certSigningRequest"
|
182
190
|
end
|
183
191
|
end
|
184
192
|
|
@@ -186,23 +194,20 @@ module CertStepper
|
|
186
194
|
|
187
195
|
def self.generateCertSuccessfully?(cert)
|
188
196
|
cert_path = @@root_path + "/#{cert.profile_name}"
|
189
|
-
puts cert_path
|
190
197
|
is_p12_exist = false
|
191
|
-
is_cer_exist = false
|
192
198
|
is_provision_exist = false
|
193
199
|
if File.exists? cert_path
|
194
200
|
Dir.entries(cert_path).each do |file_name|
|
195
201
|
if file_name.end_with? ".p12"
|
196
202
|
is_p12_exist = true
|
197
|
-
elsif file_name.end_with? ".cer"
|
198
|
-
is_cer_exist = true
|
199
203
|
elsif file_name.end_with? ".mobileprovision"
|
200
204
|
is_provision_exist = true
|
201
205
|
end
|
202
206
|
end
|
203
207
|
end
|
204
208
|
|
205
|
-
|
209
|
+
|
210
|
+
return is_p12_exist && is_provision_exist
|
206
211
|
end
|
207
212
|
|
208
213
|
def self.parseData(start_path)
|
@@ -260,19 +265,38 @@ module CertStepper
|
|
260
265
|
end
|
261
266
|
end
|
262
267
|
|
263
|
-
def self.createKeychain(
|
264
|
-
|
265
|
-
|
268
|
+
def self.createKeychain(cert)
|
269
|
+
|
270
|
+
@@base_dir = "#{Dir.home}/Library/CertStepper"
|
271
|
+
if !Dir.exist? @@base_dir
|
272
|
+
Dir.mkdir @@base_dir
|
273
|
+
end
|
274
|
+
@keychain_path = File.expand_path "#{@@base_dir}/#{cert.email}#{@options[:cert_type]}"
|
275
|
+
if !Dir.exist? @keychain_path
|
276
|
+
system "security create-keychain -p '' #{@keychain_path}"
|
277
|
+
end
|
266
278
|
end
|
267
279
|
|
268
|
-
def self.dealCert(cert,de_path)
|
280
|
+
def self.dealCert(cert,de_path,final_path)
|
269
281
|
console_de_path = de_path.gsub /[\s]/ , "\\ "
|
282
|
+
console_final_path = final_path.gsub /[\s]/ , "\\ "
|
270
283
|
Dir.entries(de_path).each do |file_name|
|
271
284
|
if file_name.end_with? '.cer'
|
272
285
|
#system "security add-trusted-cert -r unspecified -k 123456 #{File.expand_path('~')}/Downloads/ios_development.cer"
|
273
|
-
system "security import #{console_de_path}/#{file_name} -k #{@keychain_path} -T `which codesign`"
|
274
|
-
system "security export -k #{@keychain_path} -t certs -f pkcs12 -P 123 -o #{console_de_path}/#{cert.profile_name}.p12"
|
275
|
-
system "security delete-keychain #{@keychain_path}"
|
286
|
+
#system "security import #{console_de_path}/#{file_name} -k #{@keychain_path} -T `which codesign`"
|
287
|
+
#system "security export -k #{@keychain_path} -t certs -f pkcs12 -P 123 -o #{console_de_path}/#{cert.profile_name}.p12"
|
288
|
+
#system "security delete-keychain #{@keychain_path}"
|
289
|
+
|
290
|
+
cert_name = File.basename(file_name,File.extname(file_name))
|
291
|
+
|
292
|
+
|
293
|
+
cert_pem = "#{console_de_path}/#{cert_name}CERT.pem"
|
294
|
+
key_pem = "#{console_de_path}/#{cert_name}.p12"
|
295
|
+
merge_pem = "#{console_de_path}/#{cert_name}MER.pem"
|
296
|
+
|
297
|
+
system "openssl x509 -in #{console_de_path}/#{file_name} -inform der -out #{cert_pem}"
|
298
|
+
system "cat #{cert_pem} #{key_pem} > #{merge_pem}"
|
299
|
+
system "openssl pkcs12 -export -in #{merge_pem} -out #{console_final_path}/#{cert.profile_name}.p12 -passout pass:123"
|
276
300
|
|
277
301
|
end
|
278
302
|
end
|
@@ -283,7 +307,7 @@ module CertStepper
|
|
283
307
|
system "security create-keychain -P 123456"
|
284
308
|
system "security add-trusted-cert -r unspecified -k 123456 #{File.expand_path('~')}/Downloads/ios_development.cer"
|
285
309
|
system "security export -k 123456 -t certs -f pkcs12 -o #{root_path}/#{profile_name}/cert.p12"
|
286
|
-
system "security delete-keychain 123456"
|
310
|
+
#system "security delete-keychain 123456"
|
287
311
|
end
|
288
312
|
|
289
313
|
|
@@ -295,4 +319,3 @@ module CertStepper
|
|
295
319
|
end
|
296
320
|
|
297
321
|
end
|
298
|
-
puts "".colorize(:green)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: certstepper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- chengkai
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cert
|