mirror of https://github.com/keeweb/keeweb.git
promise
This commit is contained in:
parent
cfaa765858
commit
b6719e8972
|
@ -30,21 +30,23 @@ function getPrivateKey(path) {
|
||||||
|
|
||||||
module.exports = function sign(grunt, data) {
|
module.exports = function sign(grunt, data) {
|
||||||
if (signerOptions.privateKey) {
|
if (signerOptions.privateKey) {
|
||||||
const algo = signerOptions.algo || 'sha256';
|
return Promise.resolve().then(() => {
|
||||||
|
const algo = signerOptions.algo || 'sha256';
|
||||||
|
|
||||||
const sign = crypto.createSign(algo);
|
const sign = crypto.createSign(algo);
|
||||||
sign.update(data);
|
sign.update(data);
|
||||||
const signature = sign.sign(getPrivateKey(signerOptions.privateKey));
|
const signature = sign.sign(getPrivateKey(signerOptions.privateKey));
|
||||||
|
|
||||||
const verify = crypto.createVerify(algo);
|
const verify = crypto.createVerify(algo);
|
||||||
verify.write(data);
|
verify.write(data);
|
||||||
verify.end();
|
verify.end();
|
||||||
|
|
||||||
if (verify.verify(verifyKey, signature)) {
|
if (verify.verify(verifyKey, signature)) {
|
||||||
return signature;
|
return signature;
|
||||||
} else {
|
} else {
|
||||||
throw 'Validation error';
|
throw 'Validation error';
|
||||||
}
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
return getPin()
|
return getPin()
|
||||||
.then(pin => signer.sign({ data, verifyKey, pin, ...signerOptions }))
|
.then(pin => signer.sign({ data, verifyKey, pin, ...signerOptions }))
|
||||||
|
|
Loading…
Reference in New Issue