Merge pull request #418 from shocknet/bug/bad-mac-logs
bug/bad-mac-logs
This commit is contained in:
commit
6de0adb7bd
1 changed files with 36 additions and 16 deletions
|
|
@ -40,11 +40,16 @@ const isEncryptedMessage = message =>
|
|||
* @param {string} deviceId
|
||||
*/
|
||||
const generateKeyPair = deviceId => {
|
||||
try {
|
||||
const privateKey = ECCrypto.generatePrivate()
|
||||
const publicKey = ECCrypto.getPublic(privateKey)
|
||||
const privateKeyBase64 = convertBufferToBase64(privateKey)
|
||||
const publicKeyBase64 = convertBufferToBase64(publicKey)
|
||||
|
||||
if (!Buffer.isBuffer(privateKey) || !Buffer.isBuffer(publicKey)) {
|
||||
throw new Error('Invalid KeyPair Generated')
|
||||
}
|
||||
|
||||
nodeKeyPairs.set(deviceId, {
|
||||
privateKey,
|
||||
publicKey
|
||||
|
|
@ -56,6 +61,15 @@ const generateKeyPair = deviceId => {
|
|||
privateKeyBase64,
|
||||
publicKeyBase64
|
||||
}
|
||||
} catch (err) {
|
||||
logger.error(
|
||||
'[ENCRYPTION] An error has occurred while generating a new KeyPair',
|
||||
err
|
||||
)
|
||||
logger.error('Device ID:', deviceId)
|
||||
|
||||
throw err
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -120,9 +134,8 @@ const encryptMessage = async ({ message = '', deviceId }) => {
|
|||
* @param {{ encryptedMessage: EncryptedMessage, deviceId: string }} arg0
|
||||
*/
|
||||
const decryptMessage = async ({ encryptedMessage, deviceId }) => {
|
||||
try {
|
||||
const keyPair = nodeKeyPairs.get(deviceId)
|
||||
|
||||
try {
|
||||
if (!keyPair) {
|
||||
throw new FieldError({
|
||||
field: 'deviceId',
|
||||
|
|
@ -138,7 +151,14 @@ const decryptMessage = async ({ encryptedMessage, deviceId }) => {
|
|||
const parsedMessage = decryptedMessage.toString('utf8')
|
||||
return parsedMessage
|
||||
} catch (err) {
|
||||
logger.error(err)
|
||||
if (err.message?.toLowerCase() === 'bad mac') {
|
||||
logger.error(
|
||||
'Bad Mac!',
|
||||
err,
|
||||
convertToEncryptedMessage(encryptedMessage),
|
||||
!!keyPair
|
||||
)
|
||||
}
|
||||
throw err
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue