Route ClientFetchKeys: Add AES support
This commit is contained in:
parent
592a2beca1
commit
43e2742387
|
@ -1,7 +1,8 @@
|
|||
const express = require("express")
|
||||
const body_parser = require("body-parser")
|
||||
const base = require("base-64")
|
||||
|
||||
const hex = require("string-hex")
|
||||
const aesjs = require("aes-js")
|
||||
|
||||
const app = express()
|
||||
const PORT = 443
|
||||
|
@ -11,13 +12,37 @@ app.use(body_parser.urlencoded({
|
|||
extended: true
|
||||
}))
|
||||
|
||||
function hex_to_bytes(hex) {
|
||||
for (var bytes = [], c = 0; c < hex.length; c += 2)
|
||||
bytes.push(parseInt(hex.substr(c, 2), 16));
|
||||
return bytes;
|
||||
}
|
||||
|
||||
// aes configuration
|
||||
const iv = [
|
||||
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
|
||||
0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
|
||||
]
|
||||
|
||||
const key = [
|
||||
0x6B, 0x28, 0x31, 0x33, 0x23, 0x21, 0x31, 0x39,
|
||||
0x21, 0x4C, 0x6C, 0x34, 0x24, 0x31, 0x22, 0x39
|
||||
]
|
||||
|
||||
// Backend - Routes
|
||||
|
||||
// API - Routes
|
||||
app.post("/client-fetch-keys", (req, res) => { // client sends here the keys
|
||||
let keys = req.body.keys
|
||||
console.log(base.decode(keys));
|
||||
keys = keys.substring(0, keys.length-2);
|
||||
|
||||
let aes_cbc = new aesjs.ModeOfOperation.cbc(key, iv);
|
||||
let encrypted_bytes = aesjs.utils.hex.toBytes(keys)
|
||||
|
||||
let decrypted_bytes = aes_cbc.decrypt(encrypted_bytes);
|
||||
let decrypted_text = aesjs.utils.utf8.fromBytes(decrypted_bytes);
|
||||
|
||||
console.log(decrypted_text);
|
||||
|
||||
res.send("PIVOTER_OK\n");
|
||||
})
|
||||
|
|
38
backend/package-lock.json
generated
38
backend/package-lock.json
generated
|
@ -9,9 +9,14 @@
|
|||
"version": "1.0.0",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"aes-cross": "^1.1.2",
|
||||
"aes-encryption": "^1.0.4",
|
||||
"aes-js": "^3.1.2",
|
||||
"base-64": "^1.0.0",
|
||||
"crypto-js": "^4.1.1",
|
||||
"express": "^4.18.2",
|
||||
"mongodb": "^4.12.1"
|
||||
"mongodb": "^4.12.1",
|
||||
"string-hex": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@aws-crypto/ie11-detection": {
|
||||
|
@ -1089,6 +1094,24 @@
|
|||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/aes-cross": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/aes-cross/-/aes-cross-1.1.2.tgz",
|
||||
"integrity": "sha512-gkt2o9FvkWcnRUQiLyE9LDs2pOpkeqojle4sQ8PS1+fpB/qrSGaPZ24xqFeHYEiLTkLMSBJ9Bhrm+jNNo/blDQ=="
|
||||
},
|
||||
"node_modules/aes-encryption": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/aes-encryption/-/aes-encryption-1.0.4.tgz",
|
||||
"integrity": "sha512-Mb3UAbIvY0wiK6GjZGolVLXvIRHukUoSUQOOItjHNGuEWuClSsBPWEMdLYbCPuIKIFF5YkHTtWT+VqbLIQK/Og==",
|
||||
"engines": {
|
||||
"node": ">= 0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/aes-js": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz",
|
||||
"integrity": "sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ=="
|
||||
},
|
||||
"node_modules/array-flatten": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
|
||||
|
@ -1233,6 +1256,11 @@
|
|||
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
|
||||
"integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
|
||||
},
|
||||
"node_modules/crypto-js": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz",
|
||||
"integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw=="
|
||||
},
|
||||
"node_modules/debug": {
|
||||
"version": "2.6.9",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||
|
@ -1796,6 +1824,14 @@
|
|||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/string-hex": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/string-hex/-/string-hex-1.0.0.tgz",
|
||||
"integrity": "sha512-BVj+jcFkid8p2hDu96wRks4U3Dz/OfPnNR4vmABQqVIZgeSRAXYB5/zGrYT/8QhGhcEi/fMnjtLDz0rcJ5pEIQ==",
|
||||
"engines": {
|
||||
"node": ">= 8.9.4"
|
||||
}
|
||||
},
|
||||
"node_modules/strnum": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz",
|
||||
|
|
|
@ -10,8 +10,13 @@
|
|||
"author": "osamu-kj",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"aes-cross": "^1.1.2",
|
||||
"aes-encryption": "^1.0.4",
|
||||
"aes-js": "^3.1.2",
|
||||
"base-64": "^1.0.0",
|
||||
"crypto-js": "^4.1.1",
|
||||
"express": "^4.18.2",
|
||||
"mongodb": "^4.12.1"
|
||||
"mongodb": "^4.12.1",
|
||||
"string-hex": "^1.0.0"
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user