updated generateIntermediateKeyAttribute to save key to localDB
This commit is contained in:
parent
176db8b9ee
commit
6059e63064
|
@ -13,7 +13,7 @@ import { getKey, SESSION_KEYS, setKey } from 'utils/storage/sessionStorage';
|
|||
import { B64EncryptionResult } from 'services/uploadService';
|
||||
import CryptoWorker, {
|
||||
setSessionKeys,
|
||||
generateIntermediateKeyAttributes,
|
||||
generateAndSaveIntermediateKeyAttributes,
|
||||
} from 'utils/crypto';
|
||||
import { Spinner } from 'react-bootstrap';
|
||||
import { getActualKey } from 'utils/common/key';
|
||||
|
@ -94,13 +94,10 @@ export default function Generate() {
|
|||
keyAttributes,
|
||||
updatedKey
|
||||
);
|
||||
setData(
|
||||
LS_KEYS.KEY_ATTRIBUTES,
|
||||
await generateIntermediateKeyAttributes(
|
||||
passphrase,
|
||||
updatedKeyAttributes,
|
||||
key
|
||||
)
|
||||
await generateAndSaveIntermediateKeyAttributes(
|
||||
passphrase,
|
||||
updatedKeyAttributes,
|
||||
key
|
||||
);
|
||||
|
||||
setSessionKeys(key);
|
||||
|
|
|
@ -12,7 +12,7 @@ import * as Yup from 'yup';
|
|||
import { KeyAttributes } from 'types';
|
||||
import { setKey, SESSION_KEYS, getKey } from 'utils/storage/sessionStorage';
|
||||
import CryptoWorker, {
|
||||
generateIntermediateKeyAttributes,
|
||||
generateAndSaveIntermediateKeyAttributes,
|
||||
setSessionKeys,
|
||||
} from 'utils/crypto';
|
||||
import { logoutUser } from 'services/userService';
|
||||
|
@ -72,12 +72,11 @@ export default function Credentials() {
|
|||
kek
|
||||
);
|
||||
if (isFirstLogin()) {
|
||||
const intermediateKeyAttributes = await generateIntermediateKeyAttributes(
|
||||
generateAndSaveIntermediateKeyAttributes(
|
||||
passphrase,
|
||||
keyAttributes,
|
||||
key
|
||||
);
|
||||
setData(LS_KEYS.KEY_ATTRIBUTES, intermediateKeyAttributes);
|
||||
}
|
||||
setSessionKeys(key);
|
||||
router.push('/gallery');
|
||||
|
|
|
@ -14,7 +14,7 @@ import { getKey, SESSION_KEYS, setKey } from 'utils/storage/sessionStorage';
|
|||
import { B64EncryptionResult } from 'services/uploadService';
|
||||
import CryptoWorker, {
|
||||
setSessionKeys,
|
||||
generateIntermediateKeyAttributes,
|
||||
generateAndSaveIntermediateKeyAttributes,
|
||||
} from 'utils/crypto';
|
||||
import { Spinner } from 'react-bootstrap';
|
||||
|
||||
|
@ -103,14 +103,10 @@ export default function Generate() {
|
|||
getData(LS_KEYS.USER).name,
|
||||
keyAttributes
|
||||
);
|
||||
|
||||
setData(
|
||||
LS_KEYS.KEY_ATTRIBUTES,
|
||||
await generateIntermediateKeyAttributes(
|
||||
passphrase,
|
||||
keyAttributes,
|
||||
key
|
||||
)
|
||||
await generateAndSaveIntermediateKeyAttributes(
|
||||
passphrase,
|
||||
keyAttributes,
|
||||
key
|
||||
);
|
||||
|
||||
setSessionKeys(key);
|
||||
|
|
|
@ -10,11 +10,11 @@ const CryptoWorker: any =
|
|||
runningInBrowser() &&
|
||||
Comlink.wrap(new Worker('worker/crypto.worker.js', { type: 'module' }));
|
||||
|
||||
export async function generateIntermediateKeyAttributes(
|
||||
export async function generateAndSaveIntermediateKeyAttributes(
|
||||
passphrase,
|
||||
keyAttributes,
|
||||
key
|
||||
): Promise<KeyAttributes> {
|
||||
) {
|
||||
const cryptoWorker = await new CryptoWorker();
|
||||
const intermediateKekSalt: string = await cryptoWorker.generateSaltToDeriveKey();
|
||||
const intermediateKek: KEK = await cryptoWorker.deriveIntermediateKey(
|
||||
|
@ -25,7 +25,8 @@ export async function generateIntermediateKeyAttributes(
|
|||
key,
|
||||
intermediateKek.key
|
||||
);
|
||||
return {
|
||||
|
||||
const updatedKeyAttributes = {
|
||||
kekSalt: intermediateKekSalt,
|
||||
encryptedKey: encryptedKeyAttributes.encryptedData,
|
||||
keyDecryptionNonce: encryptedKeyAttributes.nonce,
|
||||
|
@ -35,6 +36,7 @@ export async function generateIntermediateKeyAttributes(
|
|||
opsLimit: intermediateKek.opsLimit,
|
||||
memLimit: intermediateKek.memLimit,
|
||||
};
|
||||
setData(LS_KEYS.KEY_ATTRIBUTES, updatedKeyAttributes);
|
||||
}
|
||||
|
||||
export const setSessionKeys = async (key: string) => {
|
||||
|
|
Loading…
Reference in a new issue