cleanup code and fix issues

This commit is contained in:
Abhinav 2023-07-04 23:07:44 +05:30
parent d2a1b734fb
commit 0a076d4996
4 changed files with 7 additions and 67 deletions

View file

@ -55,7 +55,7 @@ import {
} from 'types/Notification';
import ArrowForward from '@mui/icons-material/ArrowForward';
import { AppUpdateInfo } from 'types/electron';
import { getSentryUserID, testSRP } from 'utils/user';
import { getSentryUserID } from 'utils/user';
import { User } from 'types/user';
import { SetTheme } from 'types/theme';
import { useLocalState } from 'hooks/useLocalState';
@ -172,10 +172,6 @@ export default function App(props) {
return getAppNameAndTitle();
}, []);
useEffect(() => {
testSRP();
}, []);
useEffect(() => {
setupI18n().finally(() => setIsI18nReady(true));
}, []);

View file

@ -513,13 +513,9 @@ export const loginViaSRP = async (
password: string
) => {
try {
addLocalLog(() => `starting srp verify for ${email}`);
const srpClient = await generateSRPClient(srpSalt, email, password);
const srpA = srpClient.computeA();
addLocalLog(() => `srp a: ${convertBufferToBase64(srpA)}`);
const { srpB } = await exchangeAB(email, convertBufferToBase64(srpA));
addLocalLog(() => `srp verify successful, srpB: ${srpB}`);
srpClient.setB(convertBase64ToBuffer(srpB));
const k = srpClient.computeK();

View file

@ -11,9 +11,9 @@ import { PasswordStrength } from 'constants/crypto';
import zxcvbn from 'zxcvbn';
import { SRP, SrpClient } from 'fast-srp-hap';
import { addLocalLog } from 'utils/logging';
import { convertBufferToBase64 } from 'utils/user';
import { convertBase64ToBuffer, convertBufferToBase64 } from 'utils/user';
const SRP_PARAMS = SRP.params['2048'];
const SRP_PARAMS = SRP.params['4096'];
export async function generateKeyAttributes(
passphrase: string
@ -266,7 +266,7 @@ export const generateSRPAttributes = async (
// DOCS: var verifier = srp.computeVerifier(params, salt, identity, password);
const srpVerifierBuffer = SRP.computeVerifier(
SRP_PARAMS,
Buffer.from(srpSalt),
convertBase64ToBuffer(srpSalt),
Buffer.from(email),
Buffer.from(password)
);
@ -294,13 +294,13 @@ export const generateSRPClient = async (
if (err) {
reject(err);
}
addLocalLog(() => `secret1 ${convertBufferToBase64(secret1)}`);
const srpClient = new SrpClient(
SRP_PARAMS,
Buffer.from(srpSalt),
convertBase64ToBuffer(srpSalt),
Buffer.from(email),
Buffer.from(password),
secret1
secret1,
false
);
resolve(srpClient);

View file

@ -2,7 +2,6 @@ import isElectron from 'is-electron';
import { UserDetails } from 'types/user';
import { getData, LS_KEYS, setData } from 'utils/storage/localStorage';
import ElectronService from 'services/electron/common';
import { SRP, SrpClient } from 'fast-srp-hap';
import { Buffer } from 'buffer';
export function makeID(length) {
@ -51,54 +50,3 @@ export const convertBufferToBase64 = (buffer: Buffer) => {
export const convertBase64ToBuffer = (base64: string) => {
return Buffer.from(base64, 'base64');
};
const SRP_PARAMS = SRP.params[4096];
export const testSRP = async () => {
const srpSalt = 'asdasdad';
const email = 'a@ente.io';
const password = '12345678';
const srpVerifier = SRP.computeVerifier(
SRP_PARAMS,
Buffer.from(srpSalt),
Buffer.from(email),
Buffer.from(password)
);
console.log('srpVerifier', convertBufferToBase64(srpVerifier));
const srpClient = await generateSRPClient(srpSalt, email, password);
const srpA = srpClient.computeA();
console.log('srpA', convertBufferToBase64(srpA));
const srpB =
'LsUM9CMB7WWpImX+gTlxuqdcuGbBYYebbuXn0D5NlL/Toh6q3/TN7fajPnyuGppzg8P55TbGRl6rD19NM1qlMnQVfHGYZDuBOefoe4kfZ5JtueeoCDrDdmfzI2zRaPygsZ3tNRjVj8KGbhYYt5sXzdKB1NvAvpdOQ7aPyZwzd3LL8SwMUn6930OQYSRxdvNcIuibYG89VKx6vJWNU3J20cBsNEZ6FHWwSZw48j1ACmgXHiHxjJ8GADT/k1SUWEcf8d5u5vNRnnQ8ThvLvasO0IA2YQ+5zAYYB/ErPwo+MNQvEtbfJZu1Xi1ILPutzKPwYI7TRzvxpW9XSrTw0K1G0T0o+fibwusf7GJ5PS8ech5dOtBT0i/cQ2HUYTVwWyxO/j9PevyNFkW236amRgcOxO8/K60+6PcMlLJRjrzNxZjdkhexG/YrDYCPpC6g38WatDtNWhynL0AweIg0yAIbw2tZ94cfrebLBJ4sRyH5OyPRnMlaJc8arW+/98347y9bdAZJtL7yjJbUBUAqmfn6HJeqp1Su+FoYr2hp8dvJ/tjAbjXRLtJt5VTzRAC6BQ6cjC9iA8TjXKP8HCaLoXuylV3IxbOkeA1qZAJ8K1zflFUnJNbpHPUaDMzui5zxDQOlP+1le+K/mTqxSWCibkHeICQZcnV6NDCeRYbRlP1DVds=';
srpClient.setB(convertBase64ToBuffer(srpB));
const srpK = srpClient.computeK();
console.log('srpK', convertBufferToBase64(srpK));
const srpM1 = srpClient.computeM1();
console.log('srpM1', convertBufferToBase64(srpM1));
};
const generateSRPClient = async (
srpSalt: string,
email: string,
password: string
) => {
const secret1 = 'HU36bI7kqNNGQFDZQYuc/4W39OlOfTjQr3GRJ59czEA=';
const srpClient = new SrpClient(
SRP_PARAMS,
Buffer.from(srpSalt),
Buffer.from(email),
Buffer.from(password),
Buffer.from(secret1)
);
return srpClient;
};