mirror of
https://github.com/bitwarden/browser
synced 2025-12-20 10:13:31 +00:00
Fix failing crypto tests (#5948)
* Change everything to Uint8Array related to https://github.com/jestjs/jest/issues/14379 * Work on failing type tests * Revert changes to custom matcher setup * Remove last BufferArrays from tests * Fix custom matcher type errors in vscode * Remove errant `.buffer` calls on Uint8Arrays * Encryption Pair should serialize Array Buffer and Uint8Array * Fix EncArrayBuffer encryption --------- Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
This commit is contained in:
@@ -68,7 +68,7 @@ export class LoginApprovalComponent implements OnInit, OnDestroy {
|
||||
const publicKey = Utils.fromB64ToArray(this.authRequestResponse.publicKey);
|
||||
this.email = await this.stateService.getEmail();
|
||||
this.fingerprintPhrase = (
|
||||
await this.cryptoService.getFingerprint(this.email, publicKey.buffer)
|
||||
await this.cryptoService.getFingerprint(this.email, publicKey)
|
||||
).join("-");
|
||||
this.updateTimeText();
|
||||
|
||||
|
||||
@@ -98,7 +98,7 @@ export class ElectronStateService
|
||||
options
|
||||
);
|
||||
|
||||
return new SymmetricCryptoKey(Utils.fromB64ToArray(b64DeviceKey).buffer) as DeviceKey;
|
||||
return new SymmetricCryptoKey(Utils.fromB64ToArray(b64DeviceKey)) as DeviceKey;
|
||||
}
|
||||
|
||||
override async setDeviceKey(value: DeviceKey, options?: StorageOptions): Promise<void> {
|
||||
|
||||
@@ -70,7 +70,7 @@ export class NativeMessageHandlerService {
|
||||
}
|
||||
|
||||
try {
|
||||
const remotePublicKey = Utils.fromB64ToArray(publicKey).buffer;
|
||||
const remotePublicKey = Utils.fromB64ToArray(publicKey);
|
||||
const ddgEnabled = await this.stateService.getEnableDuckDuckGoBrowserIntegration();
|
||||
|
||||
if (!ddgEnabled) {
|
||||
|
||||
@@ -56,7 +56,7 @@ export class NativeMessagingService {
|
||||
|
||||
// Request to setup secure encryption
|
||||
if ("command" in rawMessage && rawMessage.command === "setupEncryption") {
|
||||
const remotePublicKey = Utils.fromB64ToArray(rawMessage.publicKey).buffer;
|
||||
const remotePublicKey = Utils.fromB64ToArray(rawMessage.publicKey);
|
||||
|
||||
// Validate the UserId to ensure we are logged into the same account.
|
||||
const accounts = await firstValueFrom(this.stateService.accounts$);
|
||||
@@ -169,7 +169,7 @@ export class NativeMessagingService {
|
||||
ipcRenderer.send("nativeMessagingReply", { appId: appId, message: encrypted });
|
||||
}
|
||||
|
||||
private async secureCommunication(remotePublicKey: ArrayBuffer, appId: string) {
|
||||
private async secureCommunication(remotePublicKey: Uint8Array, appId: string) {
|
||||
const secret = await this.cryptoFunctionService.randomBytes(64);
|
||||
this.sharedSecrets.set(appId, new SymmetricCryptoKey(secret));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user