Add missing functionality to new ECC encryption

This commit is contained in:
emad-salah 2021-10-15 09:21:36 +01:00
parent 4980e2b6ca
commit e224949e9f
2 changed files with 19 additions and 2 deletions

View file

@ -1,4 +1,5 @@
const { Buffer } = require("buffer"); const { Buffer } = require("buffer");
const Crypto = require("crypto");
const FieldError = require("../fieldError") const FieldError = require("../fieldError")
/** /**
@ -17,6 +18,19 @@ const FieldError = require("../fieldError")
* @prop {string} ephemPublicKey * @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 * @param {string} value
*/ */
@ -101,10 +115,11 @@ const convertToEncryptedMessage = (encryptedMessage) => {
}; };
module.exports = { module.exports = {
generateRandomString,
convertUTF8ToBuffer, convertUTF8ToBuffer,
convertBase64ToBuffer, convertBase64ToBuffer,
convertBufferToBase64, convertBufferToBase64,
convertToEncryptedMessage, convertToEncryptedMessage,
convertToEncryptedMessageResponse, convertToEncryptedMessageResponse,
processKey processKey,
} }

View file

@ -4,6 +4,7 @@ const Storage = require('node-persist')
const FieldError = require('../fieldError') const FieldError = require('../fieldError')
const logger = require('../../config/log') const logger = require('../../config/log')
const { const {
generateRandomString,
convertBufferToBase64, convertBufferToBase64,
processKey, processKey,
convertToEncryptedMessageResponse, convertToEncryptedMessageResponse,
@ -182,5 +183,6 @@ module.exports = {
generateKeyPair, generateKeyPair,
encryptMessage, encryptMessage,
decryptMessage, decryptMessage,
authorizeDevice authorizeDevice,
generateRandomString
} }