From 1da6a84a7661e2e4b6360a5b67302d76ce30adc9 Mon Sep 17 00:00:00 2001 From: adeshmukh-ks Date: Wed, 24 Jun 2026 19:58:54 +0530 Subject: [PATCH 1/2] fix hard coding in team key encryption (#192) --- keepersdk-package/src/keepersdk/vault/nsf_common.py | 2 +- keepersdk-package/src/keepersdk/vault/nsf_sharing.py | 2 +- keepersdk-package/src/keepersdk/vault/sync_down.py | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/keepersdk-package/src/keepersdk/vault/nsf_common.py b/keepersdk-package/src/keepersdk/vault/nsf_common.py index 151f1a44..625526c4 100644 --- a/keepersdk-package/src/keepersdk/vault/nsf_common.py +++ b/keepersdk-package/src/keepersdk/vault/nsf_common.py @@ -222,7 +222,7 @@ def get_user_public_key( raise ValueError( f"Share invitation sent to '{recipient_email}'. " f"Repeat after the invitation is accepted.") - raise ValueError(f"User {recipient_email} has no public key") + raise ValueError(f"User {recipient_email} has no public key or user not found") if not recipient_uid_bytes: recipient_uid_bytes = resolve_user_uid_bytes(vault, recipient_email) if require_uid and not recipient_uid_bytes: diff --git a/keepersdk-package/src/keepersdk/vault/nsf_sharing.py b/keepersdk-package/src/keepersdk/vault/nsf_sharing.py index e35be897..a45fddac 100644 --- a/keepersdk-package/src/keepersdk/vault/nsf_sharing.py +++ b/keepersdk-package/src/keepersdk/vault/nsf_sharing.py @@ -126,7 +126,7 @@ def grant_nsf_folder_access( team_keys = vault.keeper_auth.get_team_keys(utils.base64_url_encode(uid_bytes)) if not team_keys: raise NsfError(f'Team keys not available for {recipient}') - efk, key_type = nsf_common.encrypt_for_team(fk, team_keys, forbid_rsa=True) + efk, key_type = nsf_common.encrypt_for_team(fk, team_keys, forbid_rsa=vault.keeper_auth.auth_context.forbid_rsa) ek = folder_pb2.EncryptedDataKey() ek.encryptedKey = efk ek.encryptedKeyType = key_type diff --git a/keepersdk-package/src/keepersdk/vault/sync_down.py b/keepersdk-package/src/keepersdk/vault/sync_down.py index bb49407e..ec3aa638 100644 --- a/keepersdk-package/src/keepersdk/vault/sync_down.py +++ b/keepersdk-package/src/keepersdk/vault/sync_down.py @@ -255,6 +255,7 @@ def to_non_shared_data(nsd: SyncDown_pb2.NonSharedData) -> StorageNonSharedData: sf_keys: List[StorageSharedFolderKey] = [] def to_team(sync_down_team: SyncDown_pb2.Team) -> Optional[StorageTeam]: + team_uid = utils.base64_url_encode(sync_down_team.teamUid) try: team_key = decrypt_keeper_key(auth.auth_context, sync_down_team.teamKey, sync_down_team.teamKeyType) @@ -287,7 +288,7 @@ def to_team(sync_down_team: SyncDown_pb2.Team) -> Optional[StorageTeam]: logger.error('Shared Folder %s key decrypt error: %s', sf_uid, e) s_team = StorageTeam() - s_team.team_uid = utils.base64_url_encode(sync_down_team.teamUid) + s_team.team_uid = team_uid s_team.name = sync_down_team.name s_team.team_key = crypto.encrypt_aes_v2(team_key, auth.auth_context.client_key) s_team.key_type = StorageKeyType.UserClientKey_AES_GCM From 76c766156bcfd0d3a6ca301ef16b57b311bc6d0c Mon Sep 17 00:00:00 2001 From: adeshmukh-ks Date: Wed, 24 Jun 2026 23:31:51 +0530 Subject: [PATCH 2/2] SDK release 1.2.1 (#193) --- keepercli-package/src/keepercli/__init__.py | 2 +- keepersdk-package/src/keepersdk/__init__.py | 2 +- .../src/keepersdk/helpers/keeper_dag/__version__.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/keepercli-package/src/keepercli/__init__.py b/keepercli-package/src/keepercli/__init__.py index 5ad78b99..e1b6e353 100644 --- a/keepercli-package/src/keepercli/__init__.py +++ b/keepercli-package/src/keepercli/__init__.py @@ -9,5 +9,5 @@ # Contact: commander@keepersecurity.com # -__version__ = '1.2.0' +__version__ = '1.2.1' diff --git a/keepersdk-package/src/keepersdk/__init__.py b/keepersdk-package/src/keepersdk/__init__.py index b6443102..10439ade 100644 --- a/keepersdk-package/src/keepersdk/__init__.py +++ b/keepersdk-package/src/keepersdk/__init__.py @@ -10,6 +10,6 @@ # from . import background -__version__ = '1.2.0' +__version__ = '1.2.1' background.init() diff --git a/keepersdk-package/src/keepersdk/helpers/keeper_dag/__version__.py b/keepersdk-package/src/keepersdk/helpers/keeper_dag/__version__.py index f00ed5d1..a98f9837 100644 --- a/keepersdk-package/src/keepersdk/helpers/keeper_dag/__version__.py +++ b/keepersdk-package/src/keepersdk/helpers/keeper_dag/__version__.py @@ -1 +1 @@ -__version__ = '1.2.0' # pragma: no cover +__version__ = '1.1.9' # pragma: no cover