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 +5 -5
- data/.rubocop.yml +27 -9
- data/CHANGELOG.md +109 -0
- data/Gemfile +1 -1
- data/README.md +1 -1
- data/acme-client.gemspec +0 -1
- data/lib/acme/client.rb +1 -1
- data/lib/acme/client/faraday_middleware.rb +2 -2
- data/lib/acme/client/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 78db688d8bf3becb65d5bda05507c66ea90b39ad63f22be6c371910da1fb3bbd
|
4
|
+
data.tar.gz: 692bb2148f0fab65fdef55df81a54143380fe92cb44d6925fa03cc35ab87de2a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ecac4df782b5a6b3341e938252cd8e85cbcbe73d8d501ae1a55cb773be2fc36ab4bdad2c42a8a096251a50e794dbb52d77191ff98ff2b4aaf112c057f3e9b006
|
7
|
+
data.tar.gz: 19433cfbf85923d24d45deb4aa6a7d40d92dc411a9516183ae7f83a2849549bad8feba7a3aa9f361953206bfec7dde271aa8bc5908395cde9a18ceec058611d1
|
data/.rubocop.yml
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
AllCops:
|
2
|
-
TargetRubyVersion: 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
|
-
|
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
|
-
|
23
|
+
Layout/MultilineOperationIndentation:
|
24
24
|
Enabled: false
|
25
25
|
|
26
26
|
Style/SignalException:
|
27
27
|
EnforcedStyle: only_raise
|
28
28
|
|
29
|
-
|
29
|
+
Layout/AlignParameters:
|
30
30
|
EnforcedStyle: with_fixed_indentation
|
31
31
|
|
32
|
-
|
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/
|
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
|
-
|
52
|
-
|
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
|
-
|
102
|
+
Naming/AccessorMethodName:
|
85
103
|
Enabled: false
|
data/CHANGELOG.md
ADDED
@@ -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
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://
|
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
|
|
data/acme-client.gemspec
CHANGED
data/lib/acme/client.rb
CHANGED
@@ -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.
|
77
|
+
JSON.parse(env.body)
|
78
78
|
else
|
79
79
|
env.body
|
80
80
|
end
|
data/lib/acme/client/version.rb
CHANGED
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.
|
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-
|
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
|
189
|
+
rubygems_version: 2.7.6
|
189
190
|
signing_key:
|
190
191
|
specification_version: 4
|
191
192
|
summary: Client for the ACME protocol.
|