mirror of
https://github.com/bitwarden/browser
synced 2026-02-04 10:43:47 +00:00
* 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>
30 lines
765 B
TypeScript
30 lines
765 B
TypeScript
import { Pipe } from "@angular/core";
|
|
|
|
import { CryptoService } from "@bitwarden/common/platform/abstractions/crypto.service";
|
|
import { Utils } from "@bitwarden/common/platform/misc/utils";
|
|
|
|
@Pipe({
|
|
name: "fingerprint",
|
|
})
|
|
export class FingerprintPipe {
|
|
constructor(private cryptoService: CryptoService) {}
|
|
|
|
async transform(publicKey: string | Uint8Array, fingerprintMaterial: string): Promise<string> {
|
|
try {
|
|
if (typeof publicKey === "string") {
|
|
publicKey = Utils.fromB64ToArray(publicKey);
|
|
}
|
|
|
|
const fingerprint = await this.cryptoService.getFingerprint(fingerprintMaterial, publicKey);
|
|
|
|
if (fingerprint != null) {
|
|
return fingerprint.join("-");
|
|
}
|
|
|
|
return "";
|
|
} catch {
|
|
return "";
|
|
}
|
|
}
|
|
}
|