From e224949e9ff05985eff77b71ab7f09cd35dc4c4f Mon Sep 17 00:00:00 2001 From: emad-salah Date: Fri, 15 Oct 2021 09:21:36 +0100 Subject: [PATCH] Add missing functionality to new ECC encryption --- utils/ECC/crypto.js | 17 ++++++++++++++++- utils/ECC/index.js | 4 +++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/utils/ECC/crypto.js b/utils/ECC/crypto.js index 51acbdbe..2a734cb2 100644 --- a/utils/ECC/crypto.js +++ b/utils/ECC/crypto.js @@ -1,4 +1,5 @@ const { Buffer } = require("buffer"); +const Crypto = require("crypto"); const FieldError = require("../fieldError") /** @@ -17,6 +18,19 @@ const FieldError = require("../fieldError") * @prop {string} ephemPublicKey */ +const generateRandomString = (length = 16) => + new Promise((resolve, reject) => { + Crypto.randomBytes(length, (err, buffer) => { + if (err) { + reject(err) + return + } + + const token = buffer.toString('hex') + resolve(token) + }) + }) + /** * @param {string} value */ @@ -101,10 +115,11 @@ const convertToEncryptedMessage = (encryptedMessage) => { }; module.exports = { + generateRandomString, convertUTF8ToBuffer, convertBase64ToBuffer, convertBufferToBase64, convertToEncryptedMessage, convertToEncryptedMessageResponse, - processKey + processKey, } \ No newline at end of file diff --git a/utils/ECC/index.js b/utils/ECC/index.js index 4ddac5d4..960067f5 100644 --- a/utils/ECC/index.js +++ b/utils/ECC/index.js @@ -4,6 +4,7 @@ const Storage = require('node-persist') const FieldError = require('../fieldError') const logger = require('../../config/log') const { + generateRandomString, convertBufferToBase64, processKey, convertToEncryptedMessageResponse, @@ -182,5 +183,6 @@ module.exports = { generateKeyPair, encryptMessage, decryptMessage, - authorizeDevice + authorizeDevice, + generateRandomString }