Class TamperEvidentAuditSink
java.lang.Object
org.j7m.middleware.security.defaults.TamperEvidentAuditSink
- All Implemented Interfaces:
org.j7m.middleware.security.api.SecurityAuditSink
public final class TamperEvidentAuditSink
extends Object
implements org.j7m.middleware.security.api.SecurityAuditSink
Bounded in-memory tamper-evident audit sink.
The sink is thread-safe. It records redacted audit events in a SHA-256
hash chain with sequence numbers and periodic checkpoint hashes. The bounded
implementation is intended for tests, demos, and local evidence capture; a
production deployment should attach a WormAuditSink implementation
for external immutable storage.
-
Constructor Summary
ConstructorsConstructorDescriptionTamperEvidentAuditSink(int capacity, int checkpointInterval) Creates a bounded audit sink. -
Method Summary
Modifier and TypeMethodDescriptionchain()Returns recent hash-chain records.longExports retained records as newline-delimited text.List<org.j7m.middleware.security.api.AuditEvent> voidrecord(org.j7m.middleware.security.api.AuditEvent event) verify()Verifies the retained chain.static AuditChainVerificationResultverify(List<TamperEvidentAuditRecord> chain) Verifies a supplied chain snapshot.
-
Constructor Details
-
TamperEvidentAuditSink
public TamperEvidentAuditSink(int capacity, int checkpointInterval) Creates a bounded audit sink.- Parameters:
capacity- retained record capacitycheckpointInterval- checkpoint interval
-
-
Method Details
-
record
public void record(org.j7m.middleware.security.api.AuditEvent event) - Specified by:
recordin interfaceorg.j7m.middleware.security.api.SecurityAuditSink
-
recentEvents
- Specified by:
recentEventsin interfaceorg.j7m.middleware.security.api.SecurityAuditSink
-
eventCount
public long eventCount()- Specified by:
eventCountin interfaceorg.j7m.middleware.security.api.SecurityAuditSink
-
chain
Returns recent hash-chain records.- Returns:
- immutable record list
-
verify
Verifies the retained chain.- Returns:
- verification result
-
exportChain
Exports retained records as newline-delimited text.- Returns:
- safe export text
-
verify
Verifies a supplied chain snapshot.- Parameters:
chain- chain records- Returns:
- verification result
-