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 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,
}

View file

@ -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
}