Commit graph

72 commits

Author SHA1 Message Date
Chris Marchesi
575370e196 cert: Extend acme.CertificateResource, support CSRs on renew
client.RenewCertificate now supports CSRs, and in fact prefers them,
when renewing certificates. In other words, if the certificate was
created via a CSR then using that will be attempted before re-generating
off a new private key.

Also adjusted the API of ObtainCertificateForCSR to be a little
more in line with the original ObtainCertificate function.
2016-06-14 21:15:25 -07:00
Will Glynn
333af54906 Add --csr option to generate a certificate for an existing CSR 2016-06-14 21:15:25 -07:00
zealic
88932f9167 Add dns-timeout support. 2016-05-25 11:22:09 +08:00
xenolf
b119bc45fb Add "http-timeout" CLI flag.
This allows for an override of the default HTTP timeout for library HTTP requests.
Fixes #207.
2016-05-19 18:52:58 +02:00
xenolf
b5d5eee2dd Update usage of codegangster/cli to remove deprecation warning.
Fixes #206.
2016-05-12 19:52:59 +02:00
Rui Lopes
4d7223057d Add DNS challenge provider for Vultr. 2016-03-23 20:35:23 +00:00
Brett Vickers
47219adc00 Make DNS provider credential-handling more consistent.
Different DNS providers were handling credentials in different ways.
Some were reading credential environment variables in cli_handlers.go
and then passing them into the NewDNSProvider function, while others
were reading the environment variables within their NewDNSProvider
functions.

This change replaces each DNS challenge's NewDNSProvider function with
two new functions: (1) a NewDNSProvider function that takes no
parameters and uses the environment to read credentials, and (2) a
NewDNSProviderCredentials that takes credentials as parameters.
2016-03-20 11:40:30 -07:00
xenolf
bc8cfbe0d6 Merge pull request #162 from xi2/googlecloud
googlecloud dns: Make package name match import path
2016-03-19 22:18:49 +01:00
xenolf
c1b0d4387d Merge pull request #105 from aebruno/dns-dyn
Add Dyn DNS provider
2016-03-19 22:18:25 +01:00
Michael Cross
516d2a65e1 googlecloud dns: Make package name match import path
Also, add package description
2016-03-19 18:20:01 +00:00
Peter Waldschmidt
4da4506839 Add DNS challenge provider for Google Cloud DNS
Use GCE_PROJECT to designate your GCE project.

Authentication is automatically picked up from gcloud credentials if
running locally and from GCE metadata if run within Google Cloud.

Requires at least permission scope
"https://www.googleapis.com/auth/ndev.clouddns.readwrite"
2016-03-18 11:22:33 -04:00
Andrew E. Bruno
1de97a90da Move dyn provider out of acme package per #144 2016-03-17 22:30:21 -04:00
Andrew E. Bruno
b90b31980a Add Dyn DNS provider
This commit adds support for Dyn, specifically Dyn Managed DNS. Makes
use of the Dyn REST API [1] and requires 3 environment variables for
credentails:

    DYN_CUSTOMER_NAME
    DYN_USER_NAME
    DYN_PASSWORD

The Dyn DNS API requires a session to be established first using the
credentials above, After creating a session an api token is used for
subsequent requests.

The unit test performs a "live test" and currently requires a valid Dyn
account and domain.

[1] https://help.dyn.com/rest/
2016-03-17 22:08:00 -04:00
Brett Vickers
55968bcd21 Add DNS challenge provider for namecheap. 2016-03-17 14:17:56 -07:00
Michael Cross
bcd4e51d65 Add Gandi DNS challenge provider 2016-03-16 18:32:56 +00:00
xenolf
118d9d5ec9 Adjust naming of webroot provider to be in line with DNS providers. 2016-03-16 11:32:09 +01:00
Adrien Carbonne
0886c37703 Excluding DNS01 and TLSSNI01 challenges if --webroot is used 2016-03-15 11:38:23 +01:00
Adrien Carbonne
4116254e6c Fixed CLI after WebRoot provider was moved 2016-03-14 11:52:45 +01:00
Adrien Carbonne
eb773f17d2 Merge remote-tracking branch 'refs/remotes/xenolf/master' 2016-03-14 11:20:15 +01:00
xenolf
2ae35a755d Rename provider types as provider names are already in the package name. Added package level comments and fixed the name of the interface the providers are importing. 2016-03-11 03:46:09 +01:00
xenolf
b412c67aa6 Move providers out of ACME package. 2016-03-03 01:14:32 +01:00
Pauline Middelink
bc5c3b53e1 Merge remote-tracking branch 'upstream/master' into issue-140-multi-zone-certs
Conflicts solved:
	README.md
	cli.go
2016-02-28 15:42:09 +01:00
Pauline Middelink
e772779caf Fix for issue/140:
- Removal of RFC2136_ZONE from help text
 - Query nameserver directly to find zone we have to update
 - During insert, make sure the new record is the ONLY challence.
   (I had a few panics, hence 3 challences left. Not good.)
2016-02-28 01:08:59 +01:00
Pauline Middelink
b5e0b91c05 Merge remote-tracking branch 'upstream/master' 2016-02-27 17:47:25 +01:00
Pauline Middelink
3b56b5a3e2 As per request, renamed nobundle to no-bundle to be more in line with the other multi word switches. 2016-02-27 10:46:13 +01:00
Pauline Middelink
96762fa6ba Add --nobundle flag to supress the default creation of certificate bundle. 2016-02-26 02:57:16 +01:00
xenolf
0e26bb45ca Add support for EC certificates / account keys 2016-02-21 04:18:45 +01:00
xenolf
416a63120e Introduce --agree-tos switch. Fixes #128 2016-02-15 03:51:59 +01:00
Michael Cross
c3abd54dc7 CLI: Give helpful error message if --http/--tls is given without colon
Fixes #134
2016-02-20 00:35:47 +00:00
Michael Cross
78c36ef846 Fix small typos in error messages 2016-02-15 14:18:31 +00:00
Will Glynn
fdc05d2942 --dns=foo means we specifically intend to fulfill a DNS challenge 2016-02-13 18:24:52 -06:00
Philipp Kern
b3d25a9a61 Allow to specify the TSIG algorithm for RFC2136 DNS-01 authentication.
Add a new environment variable RFC2136_TSIG_ALGORITHM that accepts the
TSIG algorithm pseudo-domain name. Let it default to
"hmac-md5.sig-alg.reg.int." if unset.
2016-02-13 18:46:28 +01:00
Adrien Carbonne
8850ac8bba Minor fix, forgot package name 2016-02-10 17:00:20 +01:00
Adrien Carbonne
9a424abdee Using the standard provider way
Other providers should be used with the SetChallengeProvider function
and should supply a New function. In your case this would be
NewHTTPProviderWebroot taking the path as an argument.
2016-02-10 16:55:10 +01:00
Adrien Carbonne
fdf059fbbd Added a --webroot option for HTTP challenge
When using this option, the challenge will be written in a file in
".well-known/acme-challenge/" inside the given webroot folder.
This allows lego to work without binding any port at all.
2016-02-10 12:19:29 +01:00
xenolf
2bcf74c1c4 Add DNS01 support to the CLI 2016-01-30 02:40:57 +01:00
xenolf
db1a519684 Add the ability to reuse a private key 2016-01-08 10:14:41 +01:00
xenolf
772f3d05ab Add interface:port override to CLI 2016-01-08 08:05:07 +01:00
xenolf
523f3eb250 Change SetHTTPSPort to SetTLSPort 2015-12-27 18:56:36 +01:00
xenolf
0e857b2fef Adapt CLI to changes in lib
- Change explicit include of challenges to explicit exclude
- Add CLI switches for HTTP and TLS ports
2015-12-27 18:35:19 +01:00
xenolf
595f684e27 Merge branch 'master' of https://github.com/tommie/lego into refactor-client
# Conflicts:
#	acme/client.go
#	acme/http_challenge.go
#	acme/http_challenge_test.go
#	acme/tls_sni_challenge.go
#	cli.go
#	cli_handlers.go
2015-12-27 17:38:49 +01:00
Mustafa Altun
f3df6b81b2 Fix gofmt errors 2015-12-24 10:57:09 +02:00
xenolf
0c8bd2962e Fix --days parameter for renewal 2015-12-21 21:10:13 +01:00
xenolf
2d385d3f41 CLI: renew only the first domain (CommonName) 2015-12-18 17:55:43 +01:00
Gianluca
0edc4b5aaa typo fix 2015-12-15 19:21:46 +01:00
Gianluca
dc57d2d8ba cli fixes for short args 2015-12-15 19:18:51 +01:00
xenolf
2f16c0fa5c Make sure the CLI returns proper non-zero exit codes on errors. 2015-12-07 16:52:59 +01:00
xenolf
1573f13fac Remove redundant semicolon. 2015-12-06 23:14:22 +01:00
xenolf
2a9875b220 Add a way for cronjobs to automatically renew certificates. 2015-12-06 22:35:52 +01:00
Tommie Gannert
e32b9abfb2 Remove ObtainCertificates and rename ObtainSANCertificate to ObtainCertificate.
Also removes revokation abilities from RenewCertificate.

Makes the API more orthogonal. These things are not provided by the
ACME protocol, but were convenience helpers.
2015-12-05 22:07:12 +00:00