1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-13 14:53:33 +00:00

[PM-3732] Use subtle to make aes keys (#6162)

* Provide `aesGenerateKey` to make aes keys

* Use aesGenerateKey when generating a key data

* Fix device test
This commit is contained in:
Matt Gibson
2023-09-07 11:42:35 -04:00
committed by GitHub
parent 615248e04f
commit 0448910806
11 changed files with 67 additions and 17 deletions

View File

@@ -271,6 +271,15 @@ describe("NodeCrypto Function Service", () => {
).toBeTruthy();
});
});
describe("aesGenerateKey", () => {
it("should delegate to randomBytes", async () => {
const nodeCryptoFunctionService = new NodeCryptoFunctionService();
const spy = jest.spyOn(nodeCryptoFunctionService, "randomBytes");
await nodeCryptoFunctionService.aesGenerateKey(256);
expect(spy).toHaveBeenCalledWith(32);
});
});
});
function testPbkdf2(

View File

@@ -271,6 +271,10 @@ export class NodeCryptoFunctionService implements CryptoFunctionService {
});
}
aesGenerateKey(bitLength: 128 | 192 | 256 | 512): Promise<CsprngArray> {
return this.randomBytes(bitLength / 8);
}
randomBytes(length: number): Promise<CsprngArray> {
return new Promise<CsprngArray>((resolve, reject) => {
crypto.randomBytes(length, (error, bytes) => {