From 69bc7cfb851f5cca6ddf7a01eb5ce789d52fc159 Mon Sep 17 00:00:00 2001 From: gbubemismith Date: Tue, 15 Apr 2025 11:51:28 -0400 Subject: [PATCH] Added function to decrypt fido2 key value and updated test --- .../default-cipher-encryption.service.spec.ts | 6 ++--- .../default-cipher-encryption.service.ts | 22 +++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/libs/common/src/vault/services/default-cipher-encryption.service.spec.ts b/libs/common/src/vault/services/default-cipher-encryption.service.spec.ts index bd1be096feb..398fb499dbd 100644 --- a/libs/common/src/vault/services/default-cipher-encryption.service.spec.ts +++ b/libs/common/src/vault/services/default-cipher-encryption.service.spec.ts @@ -194,7 +194,7 @@ describe("DefaultCipherEncryptionService", () => { mockSdkClient.vault().ciphers().decrypt.mockReturnValue(sdkCipherView); mockSdkClient.vault().ciphers().decrypt_fido2_credentials.mockReturnValue(fido2Credentials); - mockSdkClient.vault().ciphers().decrypt_key = jest + mockSdkClient.vault().ciphers().decrypt_fido2_private_key = jest .fn() .mockReturnValue("decrypted-key-value"); @@ -210,9 +210,9 @@ describe("DefaultCipherEncryptionService", () => { expect(mockSdkClient.vault().ciphers().decrypt_fido2_credentials).toHaveBeenCalledWith( sdkCipherView, ); - expect(mockSdkClient.vault().ciphers().decrypt_key).toHaveBeenCalledWith( + expect(mockSdkClient.vault().ciphers().decrypt_fido2_private_key).toHaveBeenCalledWith( sdkCipherView, - fido2CredentialView.keyValue, + fido2Credentials[0].keyValue, ); expect(Fido2CredentialView.fromSdkFido2CredentialView).toHaveBeenCalledTimes(1); }); diff --git a/libs/common/src/vault/services/default-cipher-encryption.service.ts b/libs/common/src/vault/services/default-cipher-encryption.service.ts index ae1b274c618..9f3bf4f9d80 100644 --- a/libs/common/src/vault/services/default-cipher-encryption.service.ts +++ b/libs/common/src/vault/services/default-cipher-encryption.service.ts @@ -45,19 +45,19 @@ export class DefaultCipherEncryptionService implements CipherEncryptionService { clientCipherView.login.fido2Credentials = fido2CredentialViews .map((f) => { - const view = Fido2CredentialView.fromSdkFido2CredentialView(f); + // TEMPORARY: Manually decrypt the keyValue for Fido2 credentials since don't currently use + // the SDK for Fido2 Authentication. + const decryptedKeyValue = ref.value + .vault() + .ciphers() + .decrypt_fido2_private_key(sdkCipherView, f.keyValue); - if (view) { - // TEMPORARY: Manually decrypt the keyValue for Fido2 credentials since don't currently use - // the SDK for Fido2 Authentication. - const decryptedKeyValue = ref.value - .vault() - .ciphers() - .decrypt_key(sdkCipherView, view.keyValue); - view.keyValue = decryptedKeyValue; - } + const view = Fido2CredentialView.fromSdkFido2CredentialView(f)!; - return view; + return { + ...view, + keyValue: decryptedKeyValue, + }; }) .filter((view): view is Fido2CredentialView => view !== undefined); }