acme-pki 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
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: []