Comments (2)
Thanks for reporting this! I am thinking about how to help in debugging this, since the issue is likely related to your database and you probably will not be willing to share this together with the key. Can you provide a minimal reproducible example with anything confidential removed?
In a nutshell, the KDBX format consists of a header and a data (aka payload) part, both under various layers of encryption. The Hmac block stream is used to verify the integrity of the main payload before decryption. See the linked KDBX format docs section "Improved Data Authentication" for details on how it is supposed to work.
According to the description of the Hmac Block stream, the block size is definitely 4 bytes (32 bits) and little endian. I rather worry that some other corruption has occurred, so debugging this will probably amount to tracing the raw binary data and checking if it makes sense.
from keepass-rs.
I just tried to reproduce this today, and everything worked fine. I wonder if this was an error introduced by KeepassDX that was fixed in an update and since I've opened and resaved the "corrupted" one, it was fixed automatically. Anyways, since I can't reproduce this, going ahead and closing it.
from keepass-rs.
Related Issues (20)
- Better UUID handling
- Discussion: DatabaseKey design HOT 5
- Define a security policy for the project
- Warnings about conflicting changes raised when merging with keepassxc-cli HOT 1
- FR: Better ergonomics in structs? HOT 3
- ci: migrate to dtolnay/rust-toolchain for setting up rust toolchain
- Add support for YubiKey Challenge-Response
- Add support for Argon2i KDF
- Want be a member HOT 1
- impl Zeroize for DatabaseKey HOT 2
- Make the `Build Doc` PR check required HOT 1
- Document the Minimum Supported Rust Version (MSRV)
- Implement Zeroize for Value::Protected
- keepass-rs panics if providing a defect kdbx file HOT 1
- Database::open() should use generic parameter HOT 3
- Implement Zeroize for TOTP
- update URL for code coverage badge HOT 2
- Incorrect key when opening kdbx4 HOT 1
- save_kdbx4: Chunking by block size in hmac_block_stream corrupts database
- Fix code coverage job HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from keepass-rs.