acme-client 2.0.16 → 2.0.18
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/CHANGELOG.md +8 -0
- data/Gemfile +0 -1
- data/README.md +3 -6
- data/Rakefile +1 -4
- data/acme-client.gemspec +1 -2
- data/bin/generate_keystash +9 -0
- data/lib/acme/client/jwk/ecdsa.rb +4 -4
- data/lib/acme/client/resources/authorization.rb +1 -1
- data/lib/acme/client/version.rb +1 -1
- data/lib/acme/client.rb +1 -11
- metadata +7 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 88c2953c9fcfd9a7f7825b4c69b2cf0ff86befb504914e6f78b03f6fdaab052b
|
4
|
+
data.tar.gz: bddedcd46dc0b2d1224a7d409916668aa31bfad3c6576a0d09376257c654f434
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 999d2d254b29f3fdefe3af90333091c5a034d5aa3b3c3274bfe1c7787fe9c14723bf288ba0d7e4dce5fa3aad3352ecd0ef49bd60c93f4b51ab7e5d51017a9a1e
|
7
|
+
data.tar.gz: 0d16f423760bd8f714ce94de1767201dd8c842ae3fca2ec8d93c7364ea15c61f24f9c66c4175e2d7091cf263467caeb4a5e049f996c92173d64269ba5c11629b
|
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,13 +1,11 @@
|
|
1
1
|
# Acme::Client
|
2
2
|
|
3
|
-
`acme-client` is a client implementation of the
|
3
|
+
`acme-client` is a client implementation of the ACME / [RFC 8555](https://tools.ietf.org/html/rfc8555) protocol in Ruby.
|
4
4
|
|
5
5
|
You can find the ACME reference implementations of the [server](https://github.com/letsencrypt/boulder) in Go and the [client](https://github.com/certbot/certbot) in Python.
|
6
6
|
|
7
7
|
ACME is part of the [Letsencrypt](https://letsencrypt.org/) project, which goal is to provide free SSL/TLS certificates with automation of the acquiring and renewal process.
|
8
8
|
|
9
|
-
You can find ACMEv1 compatible client in the [acme-v1](https://github.com/unixcharles/acme-client/tree/acme-v1) branch.
|
10
|
-
|
11
9
|
## Installation
|
12
10
|
|
13
11
|
Via RubyGems:
|
@@ -207,8 +205,7 @@ order.certificate # => PEM-formatted certificate
|
|
207
205
|
|
208
206
|
### Ordering an alternative certificate
|
209
207
|
|
210
|
-
|
211
|
-
For example, to download the cross-signed certificate after January 11, 2021, call `Order#certificate` as follows:
|
208
|
+
The provider may provide alternate certificate with different certificate chain. You can specify the required chain and the client will automatically download alternate certificate and match the chain by name.
|
212
209
|
|
213
210
|
```ruby
|
214
211
|
begin
|
@@ -249,7 +246,7 @@ client.account_key_change(new_private_key: new_private_key)
|
|
249
246
|
|
250
247
|
## Requirements
|
251
248
|
|
252
|
-
Ruby >=
|
249
|
+
Ruby >= 3.0
|
253
250
|
|
254
251
|
## Development
|
255
252
|
|
data/Rakefile
CHANGED
data/acme-client.gemspec
CHANGED
@@ -16,12 +16,11 @@ Gem::Specification.new do |spec|
|
|
16
16
|
|
17
17
|
spec.required_ruby_version = '>= 2.3.0'
|
18
18
|
|
19
|
-
spec.add_development_dependency 'bundler', '>= 1.17.3'
|
20
19
|
spec.add_development_dependency 'rake', '~> 13.0'
|
21
20
|
spec.add_development_dependency 'rspec', '~> 3.9'
|
22
21
|
spec.add_development_dependency 'vcr', '~> 2.9'
|
23
22
|
spec.add_development_dependency 'webmock', '~> 3.8'
|
24
|
-
spec.add_development_dependency 'webrick'
|
23
|
+
spec.add_development_dependency 'webrick', '~> 1.7'
|
25
24
|
|
26
25
|
spec.add_runtime_dependency 'faraday', '>= 1.0', '< 3.0.0'
|
27
26
|
spec.add_runtime_dependency 'faraday-retry', '>= 1.0', '< 3.0.0'
|
@@ -50,8 +50,8 @@ class Acme::Client::JWK::ECDSA < Acme::Client::JWK::Base
|
|
50
50
|
{
|
51
51
|
crv: @curve_params[:jwa_crv],
|
52
52
|
kty: 'EC',
|
53
|
-
x: Acme::Client::Util.urlsafe_base64(coordinates[:x]
|
54
|
-
y: Acme::Client::Util.urlsafe_base64(coordinates[:y]
|
53
|
+
x: Acme::Client::Util.urlsafe_base64(coordinates[:x]),
|
54
|
+
y: Acme::Client::Util.urlsafe_base64(coordinates[:y])
|
55
55
|
}
|
56
56
|
end
|
57
57
|
|
@@ -92,8 +92,8 @@ class Acme::Client::JWK::ECDSA < Acme::Client::JWK::Base
|
|
92
92
|
hex_y = hex[2 + data_len / 2, data_len / 2]
|
93
93
|
|
94
94
|
{
|
95
|
-
x:
|
96
|
-
y:
|
95
|
+
x: [hex_x].pack('H*'),
|
96
|
+
y: [hex_y].pack('H*')
|
97
97
|
}
|
98
98
|
end
|
99
99
|
end
|
@@ -56,7 +56,7 @@ class Acme::Client::Resources::Authorization
|
|
56
56
|
type: attributes.fetch('type'),
|
57
57
|
status: attributes.fetch('status'),
|
58
58
|
url: attributes.fetch('url'),
|
59
|
-
token: attributes.fetch('token'),
|
59
|
+
token: attributes.fetch('token', nil),
|
60
60
|
error: attributes['error']
|
61
61
|
}
|
62
62
|
Acme::Client::Resources::Challenges.new(@client, **arguments)
|
data/lib/acme/client/version.rb
CHANGED
data/lib/acme/client.rb
CHANGED
@@ -332,7 +332,7 @@ class Acme::Client
|
|
332
332
|
connection.post(url, nil)
|
333
333
|
end
|
334
334
|
|
335
|
-
def get(url, mode: :
|
335
|
+
def get(url, mode: :get)
|
336
336
|
connection = connection_for(url: url, mode: mode)
|
337
337
|
connection.get(url)
|
338
338
|
end
|
@@ -356,16 +356,6 @@ class Acme::Client
|
|
356
356
|
)
|
357
357
|
end
|
358
358
|
|
359
|
-
def fetch_chain(response, limit = 10)
|
360
|
-
links = response.headers['link']
|
361
|
-
if limit.zero? || links.nil? || links['up'].nil?
|
362
|
-
[]
|
363
|
-
else
|
364
|
-
issuer = get(links['up'])
|
365
|
-
[OpenSSL::X509::Certificate.new(issuer.body), *fetch_chain(issuer, limit - 1)]
|
366
|
-
end
|
367
|
-
end
|
368
|
-
|
369
359
|
def endpoint_for(key)
|
370
360
|
directory.endpoint_for(key)
|
371
361
|
end
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acme-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.18
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Charles Barbier
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-06-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: bundler
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 1.17.3
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 1.17.3
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: rake
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,16 +70,16 @@ dependencies:
|
|
84
70
|
name: webrick
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
86
72
|
requirements:
|
87
|
-
- - "
|
73
|
+
- - "~>"
|
88
74
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
75
|
+
version: '1.7'
|
90
76
|
type: :development
|
91
77
|
prerelease: false
|
92
78
|
version_requirements: !ruby/object:Gem::Requirement
|
93
79
|
requirements:
|
94
|
-
- - "
|
80
|
+
- - "~>"
|
95
81
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
82
|
+
version: '1.7'
|
97
83
|
- !ruby/object:Gem::Dependency
|
98
84
|
name: faraday
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -148,6 +134,7 @@ files:
|
|
148
134
|
- Rakefile
|
149
135
|
- acme-client.gemspec
|
150
136
|
- bin/console
|
137
|
+
- bin/generate_keystash
|
151
138
|
- bin/release
|
152
139
|
- bin/setup
|
153
140
|
- lib/acme-client.rb
|