52 lines
1.2 KiB
JavaScript
52 lines
1.2 KiB
JavaScript
|
'use strict';
|
||
|
|
||
|
var challenge = require('./').create({ debug: true, webrootPath: '/tmp/acme-challenge' });
|
||
|
|
||
|
var opts = challenge.getOptions();
|
||
|
var domain = 'example.com';
|
||
|
var token = 'token-id';
|
||
|
var key = 'secret-key';
|
||
|
|
||
|
challenge.remove(opts, domain, token, function () {
|
||
|
// ignore error, if any
|
||
|
|
||
|
challenge.set(opts, domain, token, key, function (err) {
|
||
|
// if there's an error, there's a problem
|
||
|
if (err) {
|
||
|
throw err;
|
||
|
}
|
||
|
|
||
|
// throw new Error("manually check /tmp/acme-challenge");
|
||
|
|
||
|
challenge.get(opts, domain, token, function (err, _key) {
|
||
|
// if there's an error, there's a problem
|
||
|
if (err) {
|
||
|
throw err;
|
||
|
}
|
||
|
|
||
|
// should retrieve the key
|
||
|
if (key !== _key) {
|
||
|
throw new Error("FAIL: could not get key by token");
|
||
|
}
|
||
|
|
||
|
challenge.remove(opts, domain, token, function () {
|
||
|
// if there's an error, there's a problem
|
||
|
if (err) {
|
||
|
throw err;
|
||
|
}
|
||
|
|
||
|
challenge.get(opts, domain, token, function (err, _key) {
|
||
|
// error here is okay
|
||
|
|
||
|
// should NOT retrieve the key
|
||
|
if (_key) {
|
||
|
throw new Error("FAIL: should not get key");
|
||
|
}
|
||
|
|
||
|
console.info('PASS');
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
});
|