Added getEntropy endpoint at /entropy
This commit is contained in:
Родитель
0ff1610a20
Коммит
f2779a4907
|
@ -6,6 +6,7 @@ const Hapi = require('hapi');
|
|||
const fs = require('fs');
|
||||
const CC = require('compute-cluster');
|
||||
const config = require('../lib/config').root();
|
||||
const crypto = require('crypto');
|
||||
|
||||
const hour = 1000 * 60 * 60;
|
||||
const T = Hapi.types;
|
||||
|
@ -40,6 +41,13 @@ var routes = [
|
|||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
method: 'GET',
|
||||
path: '/entropy',
|
||||
config: {
|
||||
handler: getEntropy
|
||||
}
|
||||
},
|
||||
{
|
||||
method: 'POST',
|
||||
path: '/create',
|
||||
|
@ -295,6 +303,12 @@ function resetPassword(request) {
|
|||
);
|
||||
}
|
||||
|
||||
function getEntropy(request) {
|
||||
crypto.randomBytes(32, function(err, buf) {
|
||||
request.reply(buf.toString('base64'));
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
routes: routes
|
||||
};
|
||||
|
|
|
@ -18,7 +18,7 @@ var TEST_KB_NEW = 'super secret!';
|
|||
var TEST_WRAPKB = crypto.randomBytes(32).toString('base64');
|
||||
|
||||
describe('user', function() {
|
||||
var sessionId, accountToken, pubkey, signToken, resetToken;
|
||||
var sessionId, accountToken, pubkey, signToken, resetToken, entropy;
|
||||
|
||||
it('should create a new account', function(done) {
|
||||
testClient.makeRequest('POST', '/create', {
|
||||
|
@ -383,5 +383,18 @@ describe('user', function() {
|
|||
});
|
||||
});
|
||||
|
||||
it('should generate 32 bytes of random crypto entropy', function(done) {
|
||||
testClient.makeRequest('GET', '/entropy', function(res) {
|
||||
try {
|
||||
entropy = res.result;
|
||||
assert.equal(res.statusCode, 200);
|
||||
assert.equal(entropy.length, 44);
|
||||
} catch (e) {
|
||||
return done(e);
|
||||
}
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче