PdfSignatureByteRangeCoverage class
How much of the PDF file a signature's /ByteRange actually protects.
A PDF signature signs two spans — from the start of the file up to the
/Contents placeholder and from just after it to some offset — leaving the
/Contents hex string itself as an unsigned gap. Anything before the first
span or after the second is not covered by this signature. Later, legitimate
incremental updates (a second signature, a form fill, an LTV/DSS update) are
appended after the signed span, so trailing unsigned bytes are normal for
every signature except, usually, the outermost one — they are NOT tampering
on their own. This object exposes the raw coverage so callers can apply their
own policy (e.g. flag a lone signature that does not reach %%EOF, or
trailing bytes that are not even a well-formed incremental update).
Constructors
Properties
- coversEntireDocument → bool
-
Whether this signature protects the file end-to-end (starts at 0 and leaves
no unsigned trailing bytes).
no setter
- fileLength → int
-
Total size of the PDF file, in bytes.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- signedLength → int
-
Offset up to which the
/ByteRangeprotects the document (start2 + len2of the range). Bytes beyond this offset are not covered by this signature.final - startsAtDocumentStart → bool
-
Whether the
/ByteRangebegins at offset 0. A well-formed PDF signature always starts at the very beginning of the file;falsemeans the leading bytes are unsigned and the document is malformed or tampered — there is no legitimate reason for a non-zero start.final - trailingBytesAreIncrementalUpdate → bool?
-
When unsignedTrailingBytes is
> 0, whether the trailing region looks like a well-formed PDF incremental update (it contains astartxrefand a terminating%%EOF).nullwhen there are no trailing bytes.falsesignals raw appended data that is not part of the PDF revision structure — a strong tampering indicator.final - unsignedTrailingBytes → int
-
Number of bytes after signedLength that this signature does not protect.
Expected to be
> 0for every signature except the outermost one, because later revisions are appended as incremental updates.final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited