File::KDBX::IO::HmacBlock(3pm)

File::KDBX::IO::HmacBlock3pm

Hmac block stream io handle

Version

version 0.906

Overview

Writing to a HMAC-block stream handle will transform the data into a series of blocks. An HMAC is calculated for each block and is included in the output.

Reading from a handle, each block will be verified and authenticated as the blocks are disassembled back into a data stream.

This format helps ensure data integrity and authenticity of KDBX4 files.

Each block is encoded thusly:

•

HMAC - 32 bytes, calculated over [block index (increments starting with 0), block size and data]

•

Block size - Little-endian unsigned 32-bit (counting only the data)

•

Data - String of bytes

The terminating block is an empty block encoded as usual but block size is 0 and there is no data.

Attributes

block_size

Desired block size when writing (default: $File::KDBX::IO::HmacBlock::BLOCK_SIZE or 1,048,576 bytes)

key

HMAC-SHA256 key for authenticating the data stream (required)

Methods

new

    $fh = File::KDBX::IO::HmacBlock->new(%attributes);
    $fh = File::KDBX::IO::HmacBlock->new($fh, %attributes);

Construct a new HMAC-block stream IO handle.

Releases

2 releases since Debian 12 (Bookworm); the text changed 1 time.

  1. 12
  2. 13

Bugs

Please report any bugs or feature requests on the bugtracker website <https://github.com/chazmcgarvey/File-KDBX/issues>

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.

Author

Charles McGarvey <[email protected]>

From libfile-kdbx-perl 0.906-3 in Debian 13 (Trixie). Parsed by carta from the page's man source.