pem 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +8 -3
- data/bin/pem +0 -3
- data/lib/pem.rb +4 -0
- data/lib/pem/developer_center.rb +16 -8
- data/lib/pem/signing_request.rb +1 -1
- data/lib/pem/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 190079e284f19718e7136a81bbd5d7c54ce68e38
|
4
|
+
data.tar.gz: 71c615d63434145eee04e13d203a1706b6ca15b9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8de2769636d1293ed97ef4978a84919334be3b018ff4f16a3043797ce65f2a4cd30a2a0573bb93ae379bc1a24050b03846d809a87ef1118cd9f9e58544fcf588
|
7
|
+
data.tar.gz: 9e5ea4f6e75b675cd75a7fb235759d2c97518082fc5632cf69a4d4f9e15afff98acb8ee0d6019001871cc81148229f917ec2c87c5ce6f79600bd7c32ef49089c
|
data/README.md
CHANGED
@@ -19,10 +19,12 @@ Pem - Maintain your push certificates
|
|
19
19
|
[![Gem](https://img.shields.io/gem/v/pem.svg?style=flat)](http://rubygems.org/gems/pem)
|
20
20
|
|
21
21
|
|
22
|
-
Tired of manually creating and maintaining your push notification profiles? Tired of generating a ```pem``` file for your server?
|
22
|
+
Tired of manually creating and maintaining your push notification profiles for your iOS apps? Tired of generating a ```pem``` file for your server?
|
23
23
|
|
24
24
|
```PEM``` does all that for, just by running ```pem```.
|
25
25
|
|
26
|
+
To automate iOS Provisioning profiles you can use [sigh](https://github.com/KrauseFx/sigh).
|
27
|
+
|
26
28
|
Felix Krause ([@KrauseFx](https://twitter.com/KrauseFx)) the developer of ```PEM```<br />
|
27
29
|
Sebastian Mayr ([@sebmasterkde](https://twitter.com/sebmasterkde)) who implemented the download mechanism of signing certificates<br />
|
28
30
|
Alexander Schuch ([@schuchalexander](https://twitter.com/schuchalexander)) who automated the generation of the signing request
|
@@ -73,6 +75,9 @@ This does the following:
|
|
73
75
|
- Downloads the certificate
|
74
76
|
- Generates a new ```.pem``` file in the current working directory, which you can upload to your server
|
75
77
|
|
78
|
+
|
79
|
+
```PEM``` will never revoke your existing certificates.
|
80
|
+
|
76
81
|
You can pass parameters like this:
|
77
82
|
|
78
83
|
pem -a at.felixkrause.app -u username
|
@@ -105,7 +110,7 @@ Check out other tools in this collection to speed up your deployment process:
|
|
105
110
|
- [```deliver```](https://github.com/KrauseFx/deliver): Deploy screenshots, app metadata and app updates to the App Store using just one command
|
106
111
|
- [```snapshot```](https://github.com/KrauseFx/snapshot): Create hundreds of screenshots of your iPhone app... while doing something else
|
107
112
|
- [```FrameIt```](https://github.com/KrauseFx/frameit): Want a device frame around your screenshot? Do it in an instant!
|
108
|
-
- [```sigh```](https://github.com/KrauseFx/sigh): Because you would rather spend your time building stuff than fighting provisioning
|
113
|
+
- [```sigh```](https://github.com/KrauseFx/sigh): Because you would rather spend your time building stuff than fighting provisioning
|
109
114
|
|
110
115
|
## Use the 'Provisioning Quicklook plugin'
|
111
116
|
Download and install the [Provisioning Plugin](https://github.com/chockenberry/Provisioning).
|
@@ -116,7 +121,7 @@ It will show you the ```pem``` files like this:
|
|
116
121
|
|
117
122
|
# Need help?
|
118
123
|
- If there is a technical problem with ```PEM```, submit an issue. Run ```pem --trace``` to get the stacktrace.
|
119
|
-
- I'm available for contract work - drop me an email: pem@
|
124
|
+
- I'm available for contract work - drop me an email: pem@krausefx.com
|
120
125
|
|
121
126
|
# License
|
122
127
|
This project is licensed under the terms of the MIT license. See the LICENSE file.
|
data/bin/pem
CHANGED
@@ -4,7 +4,6 @@ $:.push File.expand_path("../../lib", __FILE__)
|
|
4
4
|
|
5
5
|
require 'pem'
|
6
6
|
require 'commander/import'
|
7
|
-
require 'pem/update_checker'
|
8
7
|
require 'deliver/password_manager'
|
9
8
|
|
10
9
|
HighLine.track_eof = false
|
@@ -33,8 +32,6 @@ command :renew do |c|
|
|
33
32
|
app = app_identifier(options)
|
34
33
|
username(options)
|
35
34
|
|
36
|
-
PEM::UpdateChecker.verify_latest_version
|
37
|
-
|
38
35
|
path = PEM::CertManager.new.run(app, !options.development)
|
39
36
|
|
40
37
|
if path
|
data/lib/pem.rb
CHANGED
@@ -3,6 +3,7 @@ require 'pem/version'
|
|
3
3
|
require 'pem/helper'
|
4
4
|
require 'pem/dependency_checker'
|
5
5
|
require 'pem/developer_center'
|
6
|
+
require 'pem/update_checker'
|
6
7
|
require 'pem/cert_manager'
|
7
8
|
require 'pem/signing_request'
|
8
9
|
|
@@ -11,4 +12,7 @@ require 'colored'
|
|
11
12
|
|
12
13
|
module PEM
|
13
14
|
TMP_FOLDER = "/tmp/PEM/"
|
15
|
+
|
16
|
+
PEM::UpdateChecker.verify_latest_version
|
17
|
+
DependencyChecker.check_dependencies
|
14
18
|
end
|
data/lib/pem/developer_center.rb
CHANGED
@@ -27,8 +27,6 @@ module PEM
|
|
27
27
|
|
28
28
|
def initialize
|
29
29
|
FileUtils.mkdir_p TMP_FOLDER
|
30
|
-
|
31
|
-
DependencyChecker.check_dependencies
|
32
30
|
|
33
31
|
Capybara.run_server = false
|
34
32
|
Capybara.default_driver = :poltergeist
|
@@ -246,7 +244,8 @@ module PEM
|
|
246
244
|
click_next # "Continue"
|
247
245
|
|
248
246
|
sleep 1
|
249
|
-
wait_for_elements(".
|
247
|
+
wait_for_elements(".file-input.validate")
|
248
|
+
wait_for_elements(".button.small.center.back")
|
250
249
|
|
251
250
|
# Upload CSR file
|
252
251
|
first(:xpath, "//input[@type='file']").set PEM::SigningRequest.get_path
|
@@ -272,14 +271,23 @@ module PEM
|
|
272
271
|
url = [host, url].join('')
|
273
272
|
puts url
|
274
273
|
|
275
|
-
|
276
|
-
|
274
|
+
cookieString = ""
|
275
|
+
|
276
|
+
page.driver.cookies.each do |key, cookie|
|
277
|
+
cookieString << "#{cookie.name}=#{cookie.value};" # append all known cookies
|
278
|
+
end
|
279
|
+
|
280
|
+
data = open(url, {'Cookie' => cookieString}).read
|
277
281
|
|
278
282
|
raise "Something went wrong when downloading the certificate" unless data
|
279
283
|
|
280
|
-
path = "#{TMP_FOLDER}
|
281
|
-
File.write(path, data)
|
282
|
-
|
284
|
+
path = "#{TMP_FOLDER}aps_#{certificate_type}_#{app_identifier}.cer"
|
285
|
+
dataWritten = File.write(path, data)
|
286
|
+
|
287
|
+
if dataWritten == 0
|
288
|
+
raise "Can't write to #{TMP_FOLDER}"
|
289
|
+
end
|
290
|
+
|
283
291
|
Helper.log.info "Successfully downloaded latest .cer file."
|
284
292
|
return path
|
285
293
|
end
|
data/lib/pem/signing_request.rb
CHANGED
@@ -5,7 +5,7 @@ module PEM
|
|
5
5
|
end
|
6
6
|
|
7
7
|
def self.generate
|
8
|
-
Helper.log.info "
|
8
|
+
Helper.log.info "Creating a signing certificate for you.".green
|
9
9
|
@key = OpenSSL::PKey::RSA.new 2048
|
10
10
|
|
11
11
|
# Generate CSR
|
data/lib/pem/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pem
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-12-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -209,7 +209,7 @@ dependencies:
|
|
209
209
|
description: Tired of creating and maintaining your push certification profiles? PEM
|
210
210
|
helps you creating and maintaining your iOS push notification certificates.
|
211
211
|
email:
|
212
|
-
- krausefx
|
212
|
+
- pem@krausefx.com
|
213
213
|
executables:
|
214
214
|
- pem
|
215
215
|
extensions: []
|
@@ -226,7 +226,7 @@ files:
|
|
226
226
|
- lib/pem/signing_request.rb
|
227
227
|
- lib/pem/update_checker.rb
|
228
228
|
- lib/pem/version.rb
|
229
|
-
homepage: http://
|
229
|
+
homepage: http://krausefx.com
|
230
230
|
licenses:
|
231
231
|
- MIT
|
232
232
|
metadata: {}
|