mirror of
https://github.com/bitwarden/browser
synced 2025-12-15 07:43:35 +00:00
Vault/pm-4185/checksum uris (#6485)
* Validate checksum on decrypt of URI * Add uri checksum to domain during encryption * Move hash to stateless encrypt service * Add checksum field to all the other models necessary for syncing with server * Remove old test in favor of `describe` block * PM-4185 Added a boolean to control checksum validation * PM-4185 Fi unit tests * [PM-4810][PM-4825][PM-4880] Fix encrypted import and add null check (#6935) * PM-4810 Bumped up version * PM-4880 Add null check * PM-4825 Fix encrypted export * PM-5462 Fix item saving with blank URI (#7640) * PM-4185 Add back uriChecksum setting --------- Co-authored-by: Carlos Gonçalves <cgoncalves@bitwarden.com> Co-authored-by: Matt Bishop <mbishop@bitwarden.com> Co-authored-by: gbubemismith <gsmithwalter@gmail.com> Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com>
This commit is contained in:
@@ -18,4 +18,10 @@ export abstract class EncryptService {
|
||||
items: Decryptable<T>[],
|
||||
key: SymmetricCryptoKey,
|
||||
) => Promise<T[]>;
|
||||
/**
|
||||
* Generates a base64-encoded hash of the given value
|
||||
* @param value The value to hash
|
||||
* @param algorithm The hashing algorithm to use
|
||||
*/
|
||||
hash: (value: string | Uint8Array, algorithm: "sha1" | "sha256" | "sha512") => Promise<string>;
|
||||
}
|
||||
|
||||
@@ -158,6 +158,11 @@ export class EncryptServiceImplementation implements EncryptService {
|
||||
return await Promise.all(items.map((item) => item.decrypt(key)));
|
||||
}
|
||||
|
||||
async hash(value: string | Uint8Array, algorithm: "sha1" | "sha256" | "sha512"): Promise<string> {
|
||||
const hashArray = await this.cryptoFunctionService.hash(value, algorithm);
|
||||
return Utils.fromBufferToB64(hashArray);
|
||||
}
|
||||
|
||||
private async aesEncrypt(data: Uint8Array, key: SymmetricCryptoKey): Promise<EncryptedObject> {
|
||||
const obj = new EncryptedObject();
|
||||
obj.key = key;
|
||||
|
||||
Reference in New Issue
Block a user