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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9307776044f052681b8e87045cf8e346ec044fa7
4
- data.tar.gz: c396901a57606839834a4d543d4b94f217a280c1
3
+ metadata.gz: 0da83256f324b55b404ebe0d3eff8ed8ae5544af
4
+ data.tar.gz: 4f023c30afe3e016f6b6d2509c5178f9ac0ef127
5
5
  SHA512:
6
- metadata.gz: f0a079de8d32ae3d11b8e4d5d4a9aef6f949a01680ce9d51c24b8d580b88f96106dfe1639fd73bf8532a16870dc0b23679c7c12606564ec6d8e6aa0b9e6a73d9
7
- data.tar.gz: 68f54cca1e87abf914f30f62fb8016bb208f2fb4176f37c83942981a26e47a6289e9995262fc7e879f675e1e83934500a0b17eb3dd9b83e17f6f588bbd7242a5
6
+ metadata.gz: 5fb90d0c30c5b57ec68124788bb84cfa51cc48d888465293d3a38f39a98aefe5724813d504d396bcb9a04f61726370f0cbc2cc7edbf9902be63d14f9f94a2061
7
+ data.tar.gz: 81a1577b768fcc2bb91d397bbf61156c3282364ec71fc6af0a02e60361e6b4279b23b869317a75dcdb6223779b5401fa4f3ba35ac503e1f9d3f979edffcacbb7
data/.gitignore CHANGED
@@ -1,4 +1,7 @@
1
1
  *.gem
2
2
  *.iml
3
+ *.key
4
+ *.pem
5
+ *.crt
6
+ *.csr
3
7
  Gemfile.lock
4
- /pki/
@@ -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 = '0.1.3'
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 Lets Encrypt}
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.3.1'
23
- spec.add_dependency 'faraday_middleware', '~> 0.10.0'
24
- spec.add_dependency 'colorize', '~> 0.7.7'
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
@@ -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.filename __FILE__} key <domain> [options]"
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 "A domain is required !"
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 "A domain is required !"
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 "A domain is required !"
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 "A domain is required !"
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 "A domain is required !"
91
+ puts 'A domain is required !'
71
92
  exit -1
72
93
  end
73
94
  case type
@@ -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, 'secp384r1']
21
- #DEFAULT_KEY = [:rsa, 4096]
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: Dir.pwd, account_key: DEFAULT_ACCOUNT_KEY, endpoint: DEFAULT_ENDPOINT)
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
- raise Exception, e.message
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
@@ -0,0 +1,5 @@
1
+ module Acme
2
+ class PKI
3
+ VERSION = '0.1.4'
4
+ end
5
+ end
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.3
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: 2016-04-24 00:00:00.000000000 Z
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.3.1
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.3.1
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.10.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.10.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.7.7
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.7.7
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.5.1
121
+ rubygems_version: 2.6.8
121
122
  signing_key:
122
123
  specification_version: 4
123
- summary: Ruby client for Lets Encrypt
124
+ summary: Ruby client for Let's Encrypt
124
125
  test_files: []