moved save logic inside generateAndSaveIntermediateKeyAttributes
This commit is contained in:
parent
4bc152f354
commit
90659cca58
|
@ -7,7 +7,7 @@ import { useRouter } from 'next/router';
|
|||
import { KeyAttributes } from 'types';
|
||||
import { SESSION_KEYS, getKey } from 'utils/storage/sessionStorage';
|
||||
import CryptoWorker, {
|
||||
generateIntermediateKeyAttributes,
|
||||
generateAndSaveIntermediateKeyAttributes,
|
||||
setSessionKeys,
|
||||
} from 'utils/crypto';
|
||||
import { logoutUser } from 'services/userService';
|
||||
|
@ -53,13 +53,11 @@ export default function Credentials() {
|
|||
kek
|
||||
);
|
||||
if (isFirstLogin()) {
|
||||
const intermediateKeyAttributes =
|
||||
await generateIntermediateKeyAttributes(
|
||||
passphrase,
|
||||
keyAttributes,
|
||||
key
|
||||
);
|
||||
setData(LS_KEYS.KEY_ATTRIBUTES, intermediateKeyAttributes);
|
||||
await generateAndSaveIntermediateKeyAttributes(
|
||||
passphrase,
|
||||
keyAttributes,
|
||||
key
|
||||
);
|
||||
}
|
||||
setSessionKeys(key);
|
||||
router.push('/gallery');
|
||||
|
|
|
@ -6,7 +6,7 @@ import { useRouter } from 'next/router';
|
|||
import { getKey, SESSION_KEYS } from 'utils/storage/sessionStorage';
|
||||
import {
|
||||
setSessionKeys,
|
||||
generateIntermediateKeyAttributes,
|
||||
generateAndSaveIntermediateKeyAttributes,
|
||||
generateKeyAttributes,
|
||||
} from 'utils/crypto';
|
||||
import SetPasswordForm from 'components/SetPasswordForm';
|
||||
|
@ -62,14 +62,11 @@ export default function Generate(props) {
|
|||
);
|
||||
|
||||
await putAttributes(token, keyAttributes);
|
||||
const intermediateKeyAttribute =
|
||||
await generateIntermediateKeyAttributes(
|
||||
passphrase,
|
||||
keyAttributes,
|
||||
masterKey
|
||||
);
|
||||
setData(LS_KEYS.KEY_ATTRIBUTES, intermediateKeyAttribute);
|
||||
|
||||
await generateAndSaveIntermediateKeyAttributes(
|
||||
passphrase,
|
||||
keyAttributes,
|
||||
masterKey
|
||||
);
|
||||
await setSessionKeys(masterKey);
|
||||
setJustSignedUp(true);
|
||||
setRecoveryModalView(true);
|
||||
|
|
|
@ -12,7 +12,7 @@ import { setData, LS_KEYS, getData } from 'utils/storage/localStorage';
|
|||
import SubmitButton from 'components/SubmitButton';
|
||||
import { Button } from 'react-bootstrap';
|
||||
import {
|
||||
generateIntermediateKeyAttributes,
|
||||
generateAndSaveIntermediateKeyAttributes,
|
||||
generateKeyAttributes,
|
||||
setSessionKeys,
|
||||
} from 'utils/crypto';
|
||||
|
@ -52,13 +52,11 @@ export default function SignUp() {
|
|||
const { keyAttributes, masterKey } =
|
||||
await generateKeyAttributes(passphrase);
|
||||
setData(LS_KEYS.ORIGINAL_KEY_ATTRIBUTES, keyAttributes);
|
||||
const intermediateKeyAttribute =
|
||||
await generateIntermediateKeyAttributes(
|
||||
passphrase,
|
||||
keyAttributes,
|
||||
masterKey
|
||||
);
|
||||
setData(LS_KEYS.KEY_ATTRIBUTES, intermediateKeyAttribute);
|
||||
await generateAndSaveIntermediateKeyAttributes(
|
||||
passphrase,
|
||||
keyAttributes,
|
||||
masterKey
|
||||
);
|
||||
|
||||
await setSessionKeys(masterKey);
|
||||
setJustSignedUp(true);
|
||||
|
|
|
@ -56,7 +56,7 @@ export async function generateKeyAttributes(
|
|||
return { keyAttributes, masterKey };
|
||||
}
|
||||
|
||||
export async function generateIntermediateKeyAttributes(
|
||||
export async function generateAndSaveIntermediateKeyAttributes(
|
||||
passphrase,
|
||||
existingKeyAttributes,
|
||||
key
|
||||
|
@ -71,14 +71,15 @@ export async function generateIntermediateKeyAttributes(
|
|||
const encryptedKeyAttributes: B64EncryptionResult =
|
||||
await cryptoWorker.encryptToB64(key, intermediateKek.key);
|
||||
|
||||
const intermediateKekAttributes = Object.assign(existingKeyAttributes, {
|
||||
const intermediateKeyAttributes = Object.assign(existingKeyAttributes, {
|
||||
kekSalt: intermediateKekSalt,
|
||||
encryptedKey: encryptedKeyAttributes.encryptedData,
|
||||
keyDecryptionNonce: encryptedKeyAttributes.nonce,
|
||||
opsLimit: intermediateKek.opsLimit,
|
||||
memLimit: intermediateKek.memLimit,
|
||||
});
|
||||
return intermediateKekAttributes;
|
||||
setData(LS_KEYS.KEY_ATTRIBUTES, intermediateKeyAttributes);
|
||||
return intermediateKeyAttributes;
|
||||
}
|
||||
|
||||
export const setSessionKeys = async (key: string) => {
|
||||
|
|
Loading…
Reference in a new issue