Bernd Schoolmann
fa584f76b4
[PM-24683] Move change kdf service to SDK implementation ( #16001 )
...
* Add new mp service api
* Fix tests
* Add test coverage
* Add newline
* Fix type
* Rename to "unwrapUserKeyFromMasterPasswordUnlockData"
* Fix build
* Fix build on cli
* Fix linting
* Re-sort spec
* Add tests
* Fix test and build issues
* Fix build
* Clean up
* Remove introduced function
* Clean up comments
* Fix abstract class types
* Fix comments
* Cleanup
* Cleanup
* Update libs/common/src/key-management/master-password/types/master-password.types.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/services/master-password.service.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/types/master-password.types.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Add comments
* Fix build
* Add arg null check
* Cleanup
* Fix build
* Fix build on browser
* Implement KDF change service
* Deprecate encryptUserKeyWithMasterKey
* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Add tests for null params
* Fix builds
* Cleanup and deprecate more functions
* Fix formatting
* Prettier
* Clean up
* Update libs/key-management/src/abstractions/key.service.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Make emailToSalt private and expose abstract saltForUser
* Add tests
* Add docs
* Fix build
* Fix tests
* Fix tests
* Address feedback and fix primitive obsession
* Consolidate active account checks in change kdf confirmation component
* Update libs/common/src/key-management/kdf/services/change-kdf-service.spec.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Add defensive parameter checks
* Add tests
* Add comment for follow-up epic
* Move change kdf service, remove abstraction and add api service
* Fix test
* Drop redundant null check
* Address feedback
* Add throw on empty password
* Fix tests
* Mark change kdf service as internal
* Add abstract classes
* Switch to abstraction
* Move change kdf to sdk
* Update tests
* Fix tests
* Clean up sdk mapping
* Clean up tests
* Check the argument to make_update_kdf
* Fix mock data
* Fix tests
* Fix relative imports
---------
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
2025-10-20 10:37:19 +00:00
Maciej Zieniuk
8f0d509682
[PM-24377] Use PureCrypto for decryptUserKeyWithMasterKey on the master password service ( #16522 )
...
* use PureCrypto in master password service decryptUserKeyWithMasterKey
* test for legacy AES256-CBC
* update SDK version to include the `PureCrypto.decrypt_user_key_with_master_key`
* change from integration to unit tests, use fake state provider
2025-10-17 12:28:38 -05:00
Thomas Avery
aa9a276591
[PM-23246] Add unlock with master password unlock data for lock component ( #16204 )
...
* Add unlocking with MasterPasswordUnlockData for angular lock component
2025-10-15 11:56:46 -05:00
Bernd Schoolmann
4b73198ce5
[PM-23230] Implement KDF Change Service ( #15748 )
...
* Add new mp service api
* Fix tests
* Add test coverage
* Add newline
* Fix type
* Rename to "unwrapUserKeyFromMasterPasswordUnlockData"
* Fix build
* Fix build on cli
* Fix linting
* Re-sort spec
* Add tests
* Fix test and build issues
* Fix build
* Clean up
* Remove introduced function
* Clean up comments
* Fix abstract class types
* Fix comments
* Cleanup
* Cleanup
* Update libs/common/src/key-management/master-password/types/master-password.types.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/services/master-password.service.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/types/master-password.types.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Add comments
* Fix build
* Add arg null check
* Cleanup
* Fix build
* Fix build on browser
* Implement KDF change service
* Deprecate encryptUserKeyWithMasterKey
* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Add tests for null params
* Fix builds
* Cleanup and deprecate more functions
* Fix formatting
* Prettier
* Clean up
* Update libs/key-management/src/abstractions/key.service.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Make emailToSalt private and expose abstract saltForUser
* Add tests
* Add docs
* Fix build
* Fix tests
* Fix tests
* Address feedback and fix primitive obsession
* Consolidate active account checks in change kdf confirmation component
* Update libs/common/src/key-management/kdf/services/change-kdf-service.spec.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Add defensive parameter checks
* Add tests
* Add comment for follow-up epic
* Move change kdf service, remove abstraction and add api service
* Fix test
* Drop redundant null check
* Address feedback
* Add throw on empty password
* Fix tests
* Mark change kdf service as internal
* Add abstract classes
* Switch to abstraction
* use sdk EncString in MasterPasswordUnlockData
* fix remaining tests
---------
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
Co-authored-by: Jake Fink <jfink@bitwarden.com >
2025-09-23 16:10:54 -04:00
Maciej Zieniuk
203a24723b
[PM-23243] In sync response and identity success response add MasterPasswordUnlockDataResponse in decryption options response model. ( #15916 )
...
* added master password unlock and decryption option fields into identity token connect response
* incorrect master password unlock response parsing
* use sdk
* use sdk
* better type checking on response parsing
* not using sdk
* revert of bad merge conflicts
* revert of bad merge conflicts
* master password unlock setter in state
* unit test coverage for responses processing
* master password unlock in identity user decryption options
* unit test coverage
* unit test coverage
* unit test coverage
* unit test coverage
* lint error
* set master password unlock data in state on identity response and sync response
* revert change in auth's user decryption options
* remove unnecessary cast
* better docs
* change to relative imports
* MasterPasswordUnlockData serialization issue
* explicit undefined type for `syncUserDecryption`
* incorrect identity token response tests
2025-09-05 16:13:56 +02:00
rr-bw
581e64b8f7
refactor(auth-state-updates): [Auth/PM-18544] Add shouldUpdate() checks to frequently updated state ( #15994 )
...
Adds `shouldUpdate()` checks to frequently updated disk state in the Auth domain, specifically:
- `account_verifyNewDeviceLogin`
- `token_accessToken`
- `token_refreshToken`
- `masterPassword_masterKeyHash`
This ensures that the state only updates if the new value is different from the previous value, thus avoiding unnecessary updates.
2025-08-18 13:09:41 -07:00
Bernd Schoolmann
a60b7fed9a
[PM-17667] Move key-generation service to KM ownership ( #16015 )
...
* Move key-generation service
* Update comment
* Add deprecation comments
* Fix firefox build
* Update comment
* Update DI import
* Update module imports
2025-08-15 23:49:49 +02:00
Bernd Schoolmann
a7d3c0f5c2
[PM-23809] Add simplified interface to MP service ( #15631 )
...
* Add new mp service api
* Fix tests
* Add test coverage
* Add newline
* Fix type
* Rename to "unwrapUserKeyFromMasterPasswordUnlockData"
* Fix build
* Fix build on cli
* Fix linting
* Re-sort spec
* Add tests
* Fix test and build issues
* Fix build
* Clean up
* Remove introduced function
* Clean up comments
* Fix abstract class types
* Fix comments
* Cleanup
* Cleanup
* Update libs/common/src/key-management/master-password/types/master-password.types.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/services/master-password.service.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/types/master-password.types.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Add comments
* Fix build
* Add arg null check
* Cleanup
* Fix build
* Fix build on browser
* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Add tests for null params
* Cleanup and deprecate more functions
* Fix formatting
* Prettier
* Clean up
* Update libs/key-management/src/abstractions/key.service.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Make emailToSalt private and expose abstract saltForUser
* Add tests
* Add docs
* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
---------
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
2025-07-29 18:53:17 +02:00
Bernd Schoolmann
60855c734f
[PM-17666] Move Encstring to KM ownership ( #15457 )
...
* Move Encstring to KM ownership
* Fix wrong import
* Fix build
* Fix remaining imports
* Fix tests
2025-07-16 11:15:24 -04:00
Thomas Avery
c52e6a3f2c
[PM-22408] Remove setMasterKeyEncryptedUserKey from KeyService ( #15087 )
...
* Swap consumers to masterPasswordService.setMasterKeyEncryptedUserKey
* Remove setMasterKeyEncryptedUserKey from keyService
* unit tests
2025-06-11 15:48:18 -05:00
Bernd Schoolmann
00beef617c
[PM-21586] Return null in decryptUserKeyWithMasterKey if decrypt fails ( #14756 )
...
* Return null in decryptUserKeyWithMasterKey if decrypt fails
* Show error on invalid master password
* Add logs
2025-05-13 15:42:48 +02:00
Bernd Schoolmann
07725853a2
Add tests for masterpasswordservice ( #14728 )
...
* Add tests for masterpasswordservice
* Fix tests
2025-05-12 17:00:53 +02:00
Bernd Schoolmann
5408a62b7d
[PM-21001] Move KM usage of encrypt service ( #14541 )
...
* Add new encrypt service functions
* Undo changes
* Cleanup
* Fix build
* Fix comments
* Move KM usage of encrypt service
* Fix build
2025-05-12 11:41:45 +02:00
Alec Rippberger
3030eb7552
[PM-19212] Consolidate password set routing to AuthGuard using ForceSetPasswordReason ( #14356 )
...
* Consolidates component routing, removing routing to update-temp-password from components. All routing to update-temp-password should happen in the AuthGuard now.
---------
Co-authored-by: Jared Snider <jsnider@bitwarden.com >
Co-authored-by: Todd Martin <tmartin@bitwarden.com >
2025-05-08 11:24:52 -05:00
Bernd Schoolmann
22039d038d
[PM-3475] Remove deprecated keys ( #13266 )
...
* Remove deprecated keys
* Fix cli build
* Fix build
2025-03-31 16:58:02 +02:00
Thomas Avery
81335978d8
[PM-17669] Move MasterPasswordService to KM ( #13148 )
...
* Move MasterPasswordService to KM
2025-03-13 13:29:27 -05:00