acme-client 0.6.2 → 0.6.3

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
- SHA1:
3
- metadata.gz: d85cb4dbe742469c23cead9f9ba0e669282b3037
4
- data.tar.gz: da2459a2e7ea05345893ea1a0210c5af16095794
2
+ SHA256:
3
+ metadata.gz: 78db688d8bf3becb65d5bda05507c66ea90b39ad63f22be6c371910da1fb3bbd
4
+ data.tar.gz: 692bb2148f0fab65fdef55df81a54143380fe92cb44d6925fa03cc35ab87de2a
5
5
  SHA512:
6
- metadata.gz: 97631b4f6f9b834de3cb732f9a3829f33e929deae0b9c0c998fcf0b8ea782a83b7f666b568fc9e462c7e1be0525e02dfb59d9f292d45ca2d7e47cff9e6f5399b
7
- data.tar.gz: 39edb76a61b765c1d992ce9278a4e4519896e49d3f746b542d69fbe5b5a8554acfed527c58472c1db6694b90c076eaeb57361be125ae5703da774ea0e8b7b313
6
+ metadata.gz: ecac4df782b5a6b3341e938252cd8e85cbcbe73d8d501ae1a55cb773be2fc36ab4bdad2c42a8a096251a50e794dbb52d77191ff98ff2b4aaf112c057f3e9b006
7
+ data.tar.gz: 19433cfbf85923d24d45deb4aa6a7d40d92dc411a9516183ae7f83a2849549bad8feba7a3aa9f361953206bfec7dde271aa8bc5908395cde9a18ceec058611d1
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.2
2
+ TargetRubyVersion: 2.1
3
3
  Exclude:
4
4
  - 'bin/*'
5
5
  - 'vendor/**/*'
@@ -7,7 +7,7 @@ AllCops:
7
7
  Rails:
8
8
  Enabled: false
9
9
 
10
- Style/FileName:
10
+ Naming/FileName:
11
11
  Exclude:
12
12
  - 'lib/acme-client.rb'
13
13
 
@@ -20,22 +20,40 @@ Style/ClassAndModuleChildren:
20
20
  Style/Documentation:
21
21
  Enabled: false
22
22
 
23
- Style/MultilineOperationIndentation:
23
+ Layout/MultilineOperationIndentation:
24
24
  Enabled: false
25
25
 
26
26
  Style/SignalException:
27
27
  EnforcedStyle: only_raise
28
28
 
29
- Style/AlignParameters:
29
+ Layout/AlignParameters:
30
30
  EnforcedStyle: with_fixed_indentation
31
31
 
32
- Style/FirstParameterIndentation:
32
+ Layout/ElseAlignment:
33
+ Enabled: false
34
+
35
+ Style/MultipleComparison:
36
+ Enabled: false
37
+
38
+ Layout/IndentationWidth:
39
+ Enabled: false
40
+
41
+ Style/SymbolArray:
42
+ Enabled: false
43
+
44
+ Layout/FirstParameterIndentation:
33
45
  EnforcedStyle: consistent
34
46
 
35
47
  Style/TrailingCommaInArguments:
36
48
  Enabled: false
37
49
 
38
- Style/TrailingCommaInLiteral:
50
+ Style/PercentLiteralDelimiters:
51
+ Enabled: false
52
+
53
+ Metrics/BlockLength:
54
+ Enabled: false
55
+
56
+ Layout/SpaceInsideBlockBraces:
39
57
  Enabled: false
40
58
 
41
59
  Style/StringLiterals:
@@ -48,8 +66,8 @@ Metrics/ParameterLists:
48
66
  Max: 5
49
67
  CountKeywordArgs: false
50
68
 
51
- Lint/EndAlignment:
52
- AlignWith: variable
69
+ Layout/EndAlignment:
70
+ Enabled: false
53
71
 
54
72
  Style/ParallelAssignment:
55
73
  Enabled: false
@@ -81,5 +99,5 @@ Style/BlockDelimiters:
81
99
  Style/Lambda:
82
100
  Enabled: false
83
101
 
84
- Style/AccessorMethodName:
102
+ Naming/AccessorMethodName:
85
103
  Enabled: false
@@ -0,0 +1,109 @@
1
+ ## `0.6.3`
2
+
3
+ * Handle Faraday::ConnectionFailed errors as Timeout error.
4
+
5
+ ## `0.6.2`
6
+
7
+ * Do not cache error type
8
+
9
+ ## `0.6.1`
10
+
11
+ * Fix typo in ECDSA curves
12
+
13
+ ## `0.6.0`
14
+
15
+ * Support external account keys
16
+
17
+ ## `0.5.5`
18
+
19
+ * Release script fixes.
20
+
21
+ ## `0.5.4`
22
+
23
+ * Enable ECDSA certificates
24
+
25
+ ## `0.5.3`
26
+
27
+ * Build release script
28
+
29
+ ## `0.5.2`
30
+
31
+ * Fix acme error names
32
+ * ASN1 parsing improvements
33
+
34
+ ## `0.5.1`
35
+
36
+ * Set serial number of self-signed certificate
37
+
38
+ ## `0.5.0`
39
+
40
+ * Allow access to `Acme::Client#endpoint` and `Acme::Client#directory_uri`
41
+ * Add `Acme::Client#fetch_authorization`
42
+ * Setup cyclic dependency between challenges and their authorization for easier access of either with the other.
43
+ * Drop `Acme::Client#challenge_from_hash` and `Acme::Client::Resources::Challenges::Base#to_h` in favor of the new API.
44
+ * Delegate `Acme::Client::Resources::Challenges::Base#verify_status` to `Acme::Client::Resources::Authorization#verify_status` and make it update existing challenge objects. This makes it so that whichever is called, the correct status is reflected everywhere.
45
+ * Add `Authorization#verify_status` - Recent versions of boulder will no longer process a challenge if the associated authorization is already valid, that is another challenge was previously solved. This means we need to allow people to poll on the authorizations status rather than the challenge status so they don't have to poll on the status of all challenges of an authorization all the time. See https://community.letsencrypt.org/t/upcoming-change-valid-authz-reuse/16982 and https://github.com/letsencrypt/boulder/issues/2057
46
+
47
+ ## `0.4.1`
48
+
49
+ * Set the X509 version of the self-signed certificate
50
+ * Fix requiring of time standard library
51
+
52
+ ## `0.4.0`
53
+
54
+ * Drop json-jwt dependency, implement JWS on our own
55
+ * Drop ActiveSupport dependency
56
+
57
+ ## `0.3.7`
58
+
59
+ * Simplify internal `require` statements
60
+ * Fix usage of json-jwt return value
61
+ * Remove usage of deprecated `qualified_const_defined?`
62
+ * Add user agent to upstream calls
63
+ * Fix gem requiring
64
+ * Set CSR version
65
+
66
+ ## `0.3.6`
67
+
68
+ * Handle non-json errors better
69
+
70
+ ## `0.3.5`
71
+
72
+ * Handle non protocol related server error
73
+
74
+ ## `0.3.4`
75
+
76
+ * Make `Acme::Client#challenge_from_hash` more strict with the arguments it receives
77
+
78
+ ## `0.3.3`
79
+
80
+ * Add new `unsupportedIdentifier` error from acme protocol
81
+
82
+ ## `0.3.2`
83
+
84
+ * Adds `rejectedIdentifier` error
85
+ * Adds `RateLimited` error class
86
+ * Clean up gem loading
87
+ * Make client connection options configurable
88
+ * Add URL to certificate
89
+
90
+ ## `0.3.1`
91
+
92
+ * Add ability to serialize challenges
93
+
94
+ ## `0.3.0`
95
+
96
+ * Use ISO8601 format for time parsing
97
+ * Expose the authorization expiration timestamp. The ACME server returns an optional timestamp that signifies the expiration date of the domain authorization challenge. The time format is RFC3339 and can be parsed by Time#parse. See: https://letsencrypt.github.io/acme-spec/ Section 5.3 - expires
98
+ * Update dns-01 record content to comply with ACME spec
99
+ * Fix `SelfSignCertificate#default_not_before`
100
+
101
+ ## `0.2.4`
102
+
103
+ * Support tls-sni-01
104
+
105
+ ## `0.2.3`
106
+
107
+ * Support certificate revocation
108
+ * Move everything under the `Acme::Client` namespace
109
+ * Improved errors
data/Gemfile CHANGED
@@ -3,7 +3,7 @@ gemspec
3
3
 
4
4
  group :development, :test do
5
5
  gem 'pry'
6
- gem 'rubocop', '0.36.0'
6
+ gem 'rubocop', '~> 0.49.0'
7
7
  gem 'ruby-prof', require: false
8
8
 
9
9
  if Gem::Version.new(RUBY_VERSION) <= Gem::Version.new('2.2.2')
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![Build Status](https://travis-ci.org/unixcharles/acme-client.svg?branch=master)](https://travis-ci.org/unixcharles/acme-client)
4
4
 
5
- `acme-client` is a client implementation of the [ACME](https://letsencrypt.github.io/acme-spec) protocol in Ruby.
5
+ `acme-client` is a client implementation of the [ACME](https://github.com/ietf-wg-acme/acme/) protocol in Ruby.
6
6
 
7
7
  You can find the ACME reference implementations of the [server](https://github.com/letsencrypt/boulder) in Go and the [client](https://github.com/letsencrypt/letsencrypt) in Python.
8
8
 
@@ -1,4 +1,3 @@
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
  require 'acme/client/version'
@@ -124,7 +124,7 @@ class Acme::Client
124
124
  'new-reg' => body.fetch('new-reg'),
125
125
  'new-authz' => body.fetch('new-authz'),
126
126
  'new-cert' => body.fetch('new-cert'),
127
- 'revoke-cert' => body.fetch('revoke-cert'),
127
+ 'revoke-cert' => body.fetch('revoke-cert')
128
128
  }
129
129
  else
130
130
  DIRECTORY_DEFAULT
@@ -16,7 +16,7 @@ class Acme::Client::FaradayMiddleware < Faraday::Middleware
16
16
  @env[:request_headers]['User-Agent'] = USER_AGENT
17
17
  @env.body = client.jwk.jws(header: { nonce: pop_nonce }, payload: env.body)
18
18
  @app.call(env).on_complete { |response_env| on_complete(response_env) }
19
- rescue Faraday::TimeoutError
19
+ rescue Faraday::TimeoutError, Faraday::ConnectionFailed
20
20
  raise Acme::Client::Error::Timeout
21
21
  end
22
22
 
@@ -74,7 +74,7 @@ class Acme::Client::FaradayMiddleware < Faraday::Middleware
74
74
  content_type = env.response_headers['Content-Type']
75
75
 
76
76
  if content_type == 'application/json' || content_type == 'application/problem+json'
77
- JSON.load(env.body)
77
+ JSON.parse(env.body)
78
78
  else
79
79
  env.body
80
80
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Acme
4
4
  class Client
5
- VERSION = '0.6.2'.freeze
5
+ VERSION = '0.6.3'.freeze
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acme-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charles Barbier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-03 00:00:00.000000000 Z
11
+ date: 2018-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -135,6 +135,7 @@ files:
135
135
  - ".rspec"
136
136
  - ".rubocop.yml"
137
137
  - ".travis.yml"
138
+ - CHANGELOG.md
138
139
  - Gemfile
139
140
  - LICENSE.txt
140
141
  - README.md
@@ -185,7 +186,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
185
186
  version: '0'
186
187
  requirements: []
187
188
  rubyforge_project:
188
- rubygems_version: 2.6.14
189
+ rubygems_version: 2.7.6
189
190
  signing_key:
190
191
  specification_version: 4
191
192
  summary: Client for the ACME protocol.