| letsencrypt (library) | letsencrypt-cli | letsencrypt-express | letsencrypt-koa | letsencrypt-hapi |
le-challenge-dns
A dns-based strategy for node-letsencrypt for setting, retrieving, and clearing ACME DNS-01 challenges issued by the ACME server
It creates a subdomain record for _acme-challenge
wich challenge
to be tested by the ACME server.
_acme-challenge.example.com TXT xxxxxxxxxxxxxxxx TTL 60
- Safe to use with node cluster
- Safe to use with ephemeral services (Heroku, Joyent, etc)
Install
npm install --save le-challenge-dns@2.x
Usage
var leChallengeDns = require('le-challenge-dns').create({
email: 'john.doe@example.com'
, refreshToken: '...'
, ttl: 60
, debug: false
});
var LE = require('letsencrypt');
LE.create({
server: LE.stagingServerUrl // Change to LE.productionServerUrl in production
, challengeType: 'dns-01'
, challenges: {
'dns-01': leChallengeDns
}
, approvedDomains: [ 'example.com' ]
});
NOTE: If you request a certificate with 6 domains listed, it will require 6 individual challenges.
Exposed Methods
For ACME Challenge:
set(opts, domain, challange, keyAuthorization, done)
get(defaults, domain, challenge, done)
remove(defaults, domain, challenge, done)
Note: get()
is a no-op for dns-01
and although dns-01
does not use keyAuthorization
,
it must be passed in as null
to keep the correct method signature.
For node-letsencrypt internals:
getOptions()
returns the internal defaults merged with the user-supplied optionsloopback(defaults, domain, challange, keyAuthorization, done)
should test, by external means, that the ACME server's challenge server will succeedtest(opts, domain, challange, keyAuthorization, done)
runs set, loopback, remove, loopback
Description
Languages
JavaScript
100%