acme-pki 0.1.3 → 0.1.4
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/.gitignore +4 -1
- data/acme-pki.gemspec +7 -6
- data/bin/letsencrypt +27 -6
- data/lib/acme/pki.rb +6 -5
- data/lib/acme/pki/version.rb +5 -0
- metadata +11 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0da83256f324b55b404ebe0d3eff8ed8ae5544af
|
4
|
+
data.tar.gz: 4f023c30afe3e016f6b6d2509c5178f9ac0ef127
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5fb90d0c30c5b57ec68124788bb84cfa51cc48d888465293d3a38f39a98aefe5724813d504d396bcb9a04f61726370f0cbc2cc7edbf9902be63d14f9f94a2061
|
7
|
+
data.tar.gz: 81a1577b768fcc2bb91d397bbf61156c3282364ec71fc6af0a02e60361e6b4279b23b869317a75dcdb6223779b5401fa4f3ba35ac503e1f9d3f979edffcacbb7
|
data/.gitignore
CHANGED
data/acme-pki.gemspec
CHANGED
@@ -1,13 +1,14 @@
|
|
1
|
-
# coding: utf-8
|
2
1
|
lib = File.expand_path('../lib', __FILE__)
|
3
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
3
|
|
4
|
+
require 'acme/pki/version'
|
5
|
+
|
5
6
|
Gem::Specification.new do |spec|
|
6
7
|
spec.name = 'acme-pki'
|
7
|
-
spec.version =
|
8
|
+
spec.version = Acme::PKI::VERSION
|
8
9
|
spec.authors = ['Aeris']
|
9
10
|
spec.email = ['aeris@imirhil.fr']
|
10
|
-
spec.summary = %q{Ruby client for Let
|
11
|
+
spec.summary = %q{Ruby client for Let's Encrypt}
|
11
12
|
spec.description = %q{Manage your keys, requests and certificates.}
|
12
13
|
spec.homepage = 'https://github.com/aeris/acme-pki/'
|
13
14
|
spec.license = 'AGPL-3.0+'
|
@@ -19,8 +20,8 @@ Gem::Specification.new do |spec|
|
|
19
20
|
|
20
21
|
spec.add_development_dependency 'bundler', '~> 1.11'
|
21
22
|
|
22
|
-
spec.add_dependency 'acme-client', '~> 0.
|
23
|
-
spec.add_dependency 'faraday_middleware', '~> 0.
|
24
|
-
spec.add_dependency 'colorize', '~> 0.
|
23
|
+
spec.add_dependency 'acme-client', '~> 0.5.5'
|
24
|
+
spec.add_dependency 'faraday_middleware', '~> 0.11.0.1'
|
25
|
+
spec.add_dependency 'colorize', '~> 0.8.1'
|
25
26
|
spec.add_dependency 'simpleidn', '~> 0.0.7'
|
26
27
|
end
|
data/bin/letsencrypt
CHANGED
@@ -3,7 +3,28 @@ require 'acme/pki'
|
|
3
3
|
|
4
4
|
pki = Acme::PKI.new
|
5
5
|
|
6
|
+
MYNAME = File.basename $PROGRAM_NAME
|
7
|
+
|
8
|
+
HELP = <<-"EOTEXT"
|
9
|
+
#{MYNAME} v#{Acme::PKI::VERSION}
|
10
|
+
|
11
|
+
Available Commands:
|
12
|
+
crt
|
13
|
+
csr
|
14
|
+
help
|
15
|
+
info
|
16
|
+
key
|
17
|
+
register
|
18
|
+
renew
|
19
|
+
EOTEXT
|
20
|
+
|
21
|
+
# if nothing, force help
|
22
|
+
ARGV << 'help' if ARGV.length.zero?
|
23
|
+
|
6
24
|
case ARGV.shift
|
25
|
+
when /help|-[hH]|--help/
|
26
|
+
puts HELP
|
27
|
+
exit 0
|
7
28
|
when 'register'
|
8
29
|
OptionParser.new do |opts|
|
9
30
|
opts.banner = "Usage: #{File.basename __FILE__} register <email>"
|
@@ -16,12 +37,12 @@ case ARGV.shift
|
|
16
37
|
when 'key'
|
17
38
|
options = OpenStruct.new type: Acme::PKI::DEFAULT_KEY
|
18
39
|
OptionParser.new do |opts|
|
19
|
-
opts.banner = "Usage: #{File.
|
40
|
+
opts.banner = "Usage: #{File.basename __FILE__} key <domain> [options]"
|
20
41
|
opts.on('-r [KEYSIZE]', '--rsa [KEYSIZE]', 'RSA key, key size') { |k| options.type = [:rsa, k.to_i] }
|
21
42
|
opts.on('-e [CURVE]', '--ecc [CURVE]', 'ECC key, curve') { |k| options.type = [:ecc, k] }
|
22
43
|
end.parse!
|
23
44
|
if ARGV.empty?
|
24
|
-
puts
|
45
|
+
puts 'A domain is required !'
|
25
46
|
exit -1
|
26
47
|
end
|
27
48
|
pki.generate_key ARGV.first, type: options.type
|
@@ -33,7 +54,7 @@ case ARGV.shift
|
|
33
54
|
opts.on('-d [DOMAIN]', '--domain [DOMAIN]', 'Domain') { |d| options.domains << d }
|
34
55
|
end.parse!
|
35
56
|
if ARGV.empty?
|
36
|
-
puts
|
57
|
+
puts 'A domain is required !'
|
37
58
|
exit -1
|
38
59
|
end
|
39
60
|
pki.generate_csr ARGV.first, key: options.key, domains: options.domains
|
@@ -44,7 +65,7 @@ case ARGV.shift
|
|
44
65
|
opts.on('-c [CSR]', '--csr [CSR]', 'CSR file') { |c| options.csr = c }
|
45
66
|
end.parse!
|
46
67
|
if ARGV.empty?
|
47
|
-
puts
|
68
|
+
puts 'A domain is required !'
|
48
69
|
exit -1
|
49
70
|
end
|
50
71
|
pki.generate_crt ARGV.first, csr: options.csr
|
@@ -55,7 +76,7 @@ case ARGV.shift
|
|
55
76
|
opts.on('-c [CSR]', '--csr [CSR]', 'CSR file') { |c| options.csr = c }
|
56
77
|
end.parse!
|
57
78
|
if ARGV.empty?
|
58
|
-
puts
|
79
|
+
puts 'A domain is required !'
|
59
80
|
exit -1
|
60
81
|
end
|
61
82
|
exit pki.renew(ARGV.first, csr: options.csr) ? 0 : 1
|
@@ -67,7 +88,7 @@ case ARGV.shift
|
|
67
88
|
opts.on('-c', '--crt', 'Certificate information') { type = :crt }
|
68
89
|
end.parse!
|
69
90
|
if ARGV.empty?
|
70
|
-
puts
|
91
|
+
puts 'A domain is required !'
|
71
92
|
exit -1
|
72
93
|
end
|
73
94
|
case type
|
data/lib/acme/pki.rb
CHANGED
@@ -10,18 +10,19 @@ require 'simpleidn'
|
|
10
10
|
|
11
11
|
require 'acme/pki/monkey_patch'
|
12
12
|
require 'acme/pki/information'
|
13
|
+
require 'acme/pki/version'
|
13
14
|
|
14
15
|
module Acme
|
15
16
|
class PKI
|
16
17
|
include Information
|
17
18
|
|
18
19
|
DEFAULT_ENDPOINT = ENV['ACME_ENDPOINT'] || 'https://acme-v01.api.letsencrypt.org/'
|
20
|
+
DEFAULT_DIRECTORY = ENV['ACME_DIRECTORY'] || Dir.pwd
|
19
21
|
DEFAULT_ACCOUNT_KEY = ENV['ACME_ACCOUNT_KEY'] || 'account.key'
|
20
|
-
DEFAULT_KEY = [:ecc, '
|
21
|
-
|
22
|
-
DEFAULT_RENEW_DURATION = 60*60*24*30 # 1 month
|
22
|
+
DEFAULT_KEY = [:ecc, 'prime256v1'].freeze
|
23
|
+
DEFAULT_RENEW_DURATION = 60 * 60 * 24 * 30 # 1 month
|
23
24
|
|
24
|
-
def initialize(directory:
|
25
|
+
def initialize(directory: DEFAULT_DIRECTORY, account_key: DEFAULT_ACCOUNT_KEY, endpoint: DEFAULT_ENDPOINT)
|
25
26
|
@directory = directory
|
26
27
|
@challenge_dir = ENV['ACME_CHALLENGE'] || File.join(@directory, 'acme-challenge')
|
27
28
|
@account_key_file = File.join @directory, account_key
|
@@ -227,7 +228,7 @@ module Acme
|
|
227
228
|
conn.adapter Faraday.default_adapter
|
228
229
|
end.get url
|
229
230
|
rescue => e
|
230
|
-
|
231
|
+
raise Exception, e.message
|
231
232
|
end
|
232
233
|
raise Exception, "Got response code #{response.status}" unless response.success?
|
233
234
|
real_content = response.body
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acme-pki
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aeris
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-04-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -30,42 +30,42 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.5.5
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.5.5
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: faraday_middleware
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
47
|
+
version: 0.11.0.1
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.
|
54
|
+
version: 0.11.0.1
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: colorize
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
61
|
+
version: 0.8.1
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.
|
68
|
+
version: 0.8.1
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: simpleidn
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -97,6 +97,7 @@ files:
|
|
97
97
|
- lib/acme/pki.rb
|
98
98
|
- lib/acme/pki/information.rb
|
99
99
|
- lib/acme/pki/monkey_patch.rb
|
100
|
+
- lib/acme/pki/version.rb
|
100
101
|
homepage: https://github.com/aeris/acme-pki/
|
101
102
|
licenses:
|
102
103
|
- AGPL-3.0+
|
@@ -117,8 +118,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
117
118
|
version: '0'
|
118
119
|
requirements: []
|
119
120
|
rubyforge_project:
|
120
|
-
rubygems_version: 2.
|
121
|
+
rubygems_version: 2.6.8
|
121
122
|
signing_key:
|
122
123
|
specification_version: 4
|
123
|
-
summary: Ruby client for Let
|
124
|
+
summary: Ruby client for Let's Encrypt
|
124
125
|
test_files: []
|