Skip to content

[PM-5693] Migrate SDK to KeyStore #8

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 14 commits into from
Feb 7, 2025
Merged

Conversation

dani-garcia
Copy link
Member

@dani-garcia dani-garcia commented Oct 22, 2024

🎟️ Tracking

https://bitwarden.atlassian.net/browse/PM-5693

📔 Objective

Migrated from bitwarden/sdk-sm#1117

Migrate the codebase to the new KeyStore introduced in #7.

EncryptionSettings was removed from Client, though it is still used to initialize the KeyStore. Ideally we'd move that initialization code over directly into the crypto crate but this PR is big enough as it is.

There are still some things using keys directly and KeyEncryptable/KeyDecryptable, like MasterKey, PinKey, DeviceKey, private key fingerprint. Those would need to be migrated over on a separate PR.

We need to remove the rest of the uses of SymmetricCryptoKey from the client crates, then we can remove the internal boxing they are doing, as the keys would be protected by the KeyStore instead.

Secrets Manager code should be moved to using the Encryptable/Decryptable interface, as it's encrypting fields one by one, I'll look into doing that on a separate PR.

⏰ Reminders before review

  • Contributor guidelines followed
  • All formatters and local linters executed and passed
  • Written new unit and / or integration tests where applicable
  • Protected functional changes with optionality (feature flags)
  • Used internationalization (i18n) for all UI strings
  • CI builds passed
  • Communicated to DevOps any deployment requirements
  • Updated any necessary documentation (Confluence, contributing docs) or informed the documentation
    team

🦮 Reviewer guidelines

  • 👍 (:+1:) or similar for great changes
  • 📝 (:memo:) or ℹ️ (:information_source:) for notes or general info
  • ❓ (:question:) for questions
  • 🤔 (:thinking:) or 💭 (:thought_balloon:) for more open inquiry that's not quite a confirmed
    issue and could potentially benefit from discussion
  • 🎨 (:art:) for suggestions / improvements
  • ❌ (:x:) or ⚠️ (:warning:) for more significant problems or concerns needing attention
  • 🌱 (:seedling:) or ♻️ (:recycle:) for future improvements or indications of technical debt
  • ⛏ (:pick:) for minor or nitpick changes

This comment was marked as resolved.

This comment was marked as resolved.

Base automatically changed from ps/secure-crypto-service to main February 3, 2025 17:55
@dani-garcia dani-garcia changed the title [PM-5693] Migrate SDK to CryptoService [PM-5693] Migrate SDK to KeyStore Feb 3, 2025
# Conflicts:
#	crates/bitwarden-core/src/auth/auth_client.rs
#	crates/bitwarden-core/src/auth/auth_request.rs
#	crates/bitwarden-core/src/auth/password/validate.rs
#	crates/bitwarden-core/src/client/encryption_settings.rs
#	crates/bitwarden-core/src/client/internal.rs
#	crates/bitwarden-core/src/lib.rs
#	crates/bitwarden-core/src/mobile/crypto.rs
#	crates/bitwarden-core/src/platform/generate_fingerprint.rs
#	crates/bitwarden-fido/src/authenticator.rs
#	crates/bitwarden-send/src/send_client.rs
#	crates/bitwarden-vault/src/cipher/cipher.rs
#	crates/bitwarden-vault/src/totp.rs
@dani-garcia dani-garcia force-pushed the ps/secure-crypto-service-impl branch from c33be4c to fd14a06 Compare February 6, 2025 15:50
@dani-garcia dani-garcia requested a review from Hinton February 7, 2025 14:48
@dani-garcia dani-garcia merged commit 3001f8f into main Feb 7, 2025
40 checks passed
@dani-garcia dani-garcia deleted the ps/secure-crypto-service-impl branch February 7, 2025 15:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants