acme-client 0.1.1 → 0.1.2
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/README.md +4 -4
- data/lib/{acme_client.rb → acme-client.rb} +0 -0
- data/lib/acme/client.rb +3 -4
- data/lib/acme/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c389451aba873b133d61324af15bb4c4d8fd7ac0
|
4
|
+
data.tar.gz: 803eb577b2e2d4ede9d7c5f1ccabf89a6b9c36b7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd04dd1c2bcebb94d8fd336d151797ba7262c41faef0b521cb92c9b00122a29ef6f68639c532951c40474347ca49faff0d92c9678e42dda89ca0adbb2ae877c4
|
7
|
+
data.tar.gz: 15d1539125077753c8a8e68e7bd380daa0bcfb616d91424ba2ac640f4737b679b9aaae6585aeaf40c622cb6c0b9a2cf697fac2eddebcff35af0743cd75d360aa
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
`acme-client` is a client implementation of the [ACME](https://letsencrypt.github.io/acme-spec) protocol in Ruby.
|
4
4
|
|
5
|
-
You can find the server reference implementation for ACME server [here](github.com/letsencrypt/boulder) and also the a reference [client](github.com/letsencrypt/letsencrypt) in python.
|
5
|
+
You can find the server reference implementation for ACME server [here](https://github.com/letsencrypt/boulder) and also the a reference [client](https://github.com/letsencrypt/letsencrypt) in python.
|
6
6
|
|
7
7
|
ACME is part of the [Letsencrypt](https://letsencrypt.org/) project, that are working hard at encrypting all the things.
|
8
8
|
|
@@ -13,7 +13,7 @@ ACME is part of the [Letsencrypt](https://letsencrypt.org/) project, that are wo
|
|
13
13
|
private_key = OpenSSL::PKey::RSA.new(2048)
|
14
14
|
|
15
15
|
# We need an ACME server to talk to, see github.com/letsencrypt/boulder
|
16
|
-
endpoint = '
|
16
|
+
endpoint = 'https://acme-staging.api.letsencrypt.org'
|
17
17
|
|
18
18
|
# Initialize the client
|
19
19
|
client = Acme::Client.new(private_key: private_key, endpoint: endpoint)
|
@@ -26,7 +26,7 @@ registration.agree_terms
|
|
26
26
|
|
27
27
|
# Let's try to optain a certificate for yourdomain.com
|
28
28
|
|
29
|
-
# We need to prove that we control the domain using one of the
|
29
|
+
# We need to prove that we control the domain using one of the challenges method.
|
30
30
|
authorization = client.authorize(domain: 'yourdomain.com')
|
31
31
|
|
32
32
|
# For now the only challenge method supprted by the client is simple_http.
|
@@ -64,7 +64,7 @@ csr.subject = OpenSSL::X509::Name.new([
|
|
64
64
|
])
|
65
65
|
|
66
66
|
csr.public_key = certificate_private_key.public_key
|
67
|
-
csr.sign(
|
67
|
+
csr.sign(certificate_private_key, OpenSSL::Digest::SHA256.new)
|
68
68
|
|
69
69
|
# We can now request a certificate
|
70
70
|
client.new_certificate(csr) # => #<OpenSSL::X509::Certificate ....>
|
File without changes
|
data/lib/acme/client.rb
CHANGED
@@ -7,7 +7,7 @@ class Acme::Client
|
|
7
7
|
'revoke-cert' => '/acme/revoke-cert'
|
8
8
|
}
|
9
9
|
|
10
|
-
def initialize(endpoint: DEFAULT_ENDPOINT, directory_uri: nil
|
10
|
+
def initialize(private_key:, endpoint: DEFAULT_ENDPOINT, directory_uri: nil)
|
11
11
|
@endpoint, @private_key, @directory_uri = endpoint, private_key, directory_uri
|
12
12
|
@nonces ||= []
|
13
13
|
load_directory!
|
@@ -26,9 +26,9 @@ class Acme::Client
|
|
26
26
|
|
27
27
|
def authorize(domain:)
|
28
28
|
payload = {
|
29
|
-
resource:
|
29
|
+
resource: 'new-authz',
|
30
30
|
identifier: {
|
31
|
-
type:
|
31
|
+
type: 'dns',
|
32
32
|
value: domain
|
33
33
|
}
|
34
34
|
}
|
@@ -60,7 +60,6 @@ class Acme::Client
|
|
60
60
|
body = response.body
|
61
61
|
{
|
62
62
|
'new-reg' => body.fetch('new-reg'),
|
63
|
-
'recover-reg' => body.fetch('recover-reg'),
|
64
63
|
'new-authz' => body.fetch('new-authz'),
|
65
64
|
'new-cert' => body.fetch('new-cert'),
|
66
65
|
'revoke-cert' => body.fetch('revoke-cert'),
|
data/lib/acme/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.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Charles Barbier
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-10-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -175,6 +175,7 @@ files:
|
|
175
175
|
- acme-client.gemspec
|
176
176
|
- bin/console
|
177
177
|
- bin/setup
|
178
|
+
- lib/acme-client.rb
|
178
179
|
- lib/acme/client.rb
|
179
180
|
- lib/acme/crypto.rb
|
180
181
|
- lib/acme/error.rb
|
@@ -185,7 +186,6 @@ files:
|
|
185
186
|
- lib/acme/resources/challenges/simple_http.rb
|
186
187
|
- lib/acme/resources/registration.rb
|
187
188
|
- lib/acme/version.rb
|
188
|
-
- lib/acme_client.rb
|
189
189
|
homepage: http://github.com/unixcharles/acme-client
|
190
190
|
licenses:
|
191
191
|
- MIT
|
@@ -206,7 +206,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
206
206
|
version: '0'
|
207
207
|
requirements: []
|
208
208
|
rubyforge_project:
|
209
|
-
rubygems_version: 2.
|
209
|
+
rubygems_version: 2.4.5
|
210
210
|
signing_key:
|
211
211
|
specification_version: 4
|
212
212
|
summary: Client for the ACME protocol.
|