Requested changes

This commit is contained in:
Daniel Hougaard
2024-02-22 05:00:26 +01:00
parent a6e263eded
commit 108f3cf117
2 changed files with 4 additions and 18 deletions
+2 -6
View File
@@ -8,10 +8,6 @@ import { TUserEncryptionKeys } from "@app/db/schemas";
import { decryptSymmetric, encryptAsymmetric, encryptSymmetric } from "./encryption"; import { decryptSymmetric, encryptAsymmetric, encryptSymmetric } from "./encryption";
// Importing the argon2 constants from the argon2 module fails due to an issue with importing commonjs modules.
// Read more: https://stackoverflow.com/questions/70605320/named-export-types-not-found-the-requested-module-mongoose-is-a-commonjs-mo
const ARGON_2_ID = 2;
export const generateSrpServerKey = async (salt: string, verifier: string) => { export const generateSrpServerKey = async (salt: string, verifier: string) => {
// eslint-disable-next-line new-cap // eslint-disable-next-line new-cap
const server = new jsrp.server(); const server = new jsrp.server();
@@ -62,7 +58,7 @@ export const generateUserSrpKeys = async (email: string, password: string) => {
timeCost: 3, timeCost: 3,
parallelism: 1, parallelism: 1,
hashLength: 32, hashLength: 32,
type: ARGON_2_ID, type: argon2.argon2id,
raw: true raw: true
}); });
if (!derivedKey) throw new Error("Failed to derive key from password"); if (!derivedKey) throw new Error("Failed to derive key from password");
@@ -106,7 +102,7 @@ export const getUserPrivateKey = async (password: string, user: TUserEncryptionK
timeCost: 3, timeCost: 3,
parallelism: 1, parallelism: 1,
hashLength: 32, hashLength: 32,
type: ARGON_2_ID, type: argon2.argon2id,
raw: true raw: true
}); });
if (!derivedKey) throw new Error("Failed to derive key from password"); if (!derivedKey) throw new Error("Failed to derive key from password");
@@ -1,18 +1,8 @@
import crypto from "crypto"; import crypto from "crypto";
import { ProjectMembershipRole, TProjectKeys } from "@app/db/schemas"; import { decryptAsymmetric, encryptAsymmetric } from "@app/lib/crypto";
import { decryptAsymmetric, encryptAsymmetric } from "../crypto"; import { AddUserToWsDTO } from "./project-types";
type AddUserToWsDTO = {
decryptKey: TProjectKeys & { sender: { publicKey: string } };
userPrivateKey: string;
members: {
orgMembershipId: string;
projectMembershipRole: ProjectMembershipRole;
userPublicKey: string;
}[];
};
export const createWsMembers = ({ members, decryptKey, userPrivateKey }: AddUserToWsDTO) => { export const createWsMembers = ({ members, decryptKey, userPrivateKey }: AddUserToWsDTO) => {
const key = decryptAsymmetric({ const key = decryptAsymmetric({