Skip to content

Conversation

@Mistikan
Copy link
Contributor

@Mistikan Mistikan commented Sep 6, 2025

No description provided.

@Lujeni
Copy link
Member

Lujeni commented Sep 8, 2025

Hi @Mistikan thanks for the PR.

Can you provived an example of the old and new output pls

@Mistikan
Copy link
Contributor Author

Mistikan commented Sep 8, 2025

@Lujeni , of course:
Old:

  File "python/vaultwarden-migrator/main.py", line 434, in migrate_organization
    org_coll_src: list[OrganizationCollection] = orga_src.collections()
                                                 ^^^^^^^^^^^^^^^^^^^^^^
  File "python/vaultwarden-migrator/.venv/lib/python3.12/site-packages/vaultwarden/models/bitwarden.py", line 495, in collections
    self._collections = self._get_collections()
                        ^^^^^^^^^^^^^^^^^^^^^^^
  File "python/vaultwarden-migrator/.venv/lib/python3.12/site-packages/vaultwarden/models/bitwarden.py", line 485, in _get_collections
    org_key = self.key()
              ^^^^^^^^^^
  File "python/vaultwarden-migrator/.venv/lib/python3.12/site-packages/vaultwarden/models/bitwarden.py", line 581, in key
    return decrypt(raw_key, self.api_client.connect_token.orgs_key)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "python/vaultwarden-migrator/.venv/lib/python3.12/site-packages/vaultwarden/models/sync.py", line 43, in orgs_key
    return decrypt(self.PrivateKey, self.user_key)
                                    ^^^^^^^^^^^^^
  File "python/vaultwarden-migrator/.venv/lib/python3.12/site-packages/vaultwarden/models/sync.py", line 39, in user_key
    return decrypt(self.Key, self.master_key)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "python/vaultwarden-migrator/.venv/lib/python3.12/site-packages/vaultwarden/utils/crypto.py", line 257, in decrypt
    return dec(div=iv, dct=ct, dmac=mac, key=key, *a, **kw)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "python/vaultwarden-migrator/.venv/lib/python3.12/site-packages/vaultwarden/utils/crypto.py", line 221, in decrypt_sym
    raise DecryptError(
vaultwarden.utils.crypto.DecryptError: Symetric hmac verification failed b"\x87\xf7te\x9f\x8f\x16\xaf\x9aA\xf7\xa4bx\x83\xee-'`-W\r\x1f\xb7p&\x04\xd2\xce\xd8\x16\xa8" / b'T\xce\x89hc~\x01\xee\xaf\xbd\xc0)\xef\xee\x97z\x1e\xcf\xb2^H\x18\xb8\x19\x84\xba\x87y_\xe3\x82C'

New:

  File "python/vaultwarden-migrator/main.py", line 564, in <module>
    status, manual_created_user = migrate_organization(client_src, client_dst, id_orga_src, id_orga_dst, client_admin_src, client_admin_dst, all_collections_orga_src, collections_orga_src)
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "python/vaultwarden-migrator/main.py", line 434, in migrate_organization
    org_coll_src: list[OrganizationCollection] = orga_src.collections()
                                                 ^^^^^^^^^^^^^^^^^^^^^^
  File "python/vaultwarden-migrator/.venv/lib/python3.12/site-packages/vaultwarden/models/bitwarden.py", line 495, in collections
    self._collections = self._get_collections()
                        ^^^^^^^^^^^^^^^^^^^^^^^
  File "python/vaultwarden-migrator/.venv/lib/python3.12/site-packages/vaultwarden/models/bitwarden.py", line 485, in _get_collections
    org_key = self.key()
              ^^^^^^^^^^
  File "python/vaultwarden-migrator/.venv/lib/python3.12/site-packages/vaultwarden/models/bitwarden.py", line 581, in key
    return decrypt(raw_key, self.api_client.connect_token.orgs_key)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "python/vaultwarden-migrator/.venv/lib/python3.12/site-packages/vaultwarden/models/sync.py", line 43, in orgs_key
    return decrypt(self.PrivateKey, self.user_key)
                                    ^^^^^^^^^^^^^
  File "python/vaultwarden-migrator/.venv/lib/python3.12/site-packages/vaultwarden/models/sync.py", line 39, in user_key
    return decrypt(self.Key, self.master_key)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "python/vaultwarden-migrator/.venv/lib/python3.12/site-packages/vaultwarden/utils/crypto.py", line 257, in decrypt
    return dec(div=iv, dct=ct, dmac=mac, key=key, *a, **kw)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "python/vaultwarden-migrator/.venv/lib/python3.12/site-packages/vaultwarden/utils/crypto.py", line 221, in decrypt_sym
    raise DecryptError(
vaultwarden.utils.crypto.DecryptError: Symmetric hmac verification failed 87f774659f8f16af9a41f7a4627883ee2d27602d570d1fb7702604d2ced816a8 / 54ce8968637e01eeafbdc029efee977a1ecfb25e4818b81984ba87795fe38243. Check your password.

@commonism
Copy link

I know why you are there.

With more recent client versions, there is an additional key for each item used to decrypt.

I gave this a shot in https://github.com/numberly/python-vaultwarden/pull/27/files using pydantic model validators to pass the proper keys.

@Lujeni Lujeni merged commit 5d3fc5b into numberly:main Sep 9, 2025
14 checks passed
@Lujeni
Copy link
Member

Lujeni commented Sep 9, 2025

@Mistikan Thanks for the PR again

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.

3 participants