Record Class FsPkiStoreOptions
- Record Components:
caHistoryPolicy- history policy for CA recordsprofileHistoryPolicy- history policy for certificate profilesrevocationHistoryPolicy- history policy for revocation recordsworkflowHistoryPolicy- history policy for workflow continuation statestrictSnapshotExport- whether snapshot export is strict (fail-closed)signingOperationHorizon- maximum stable signing identifier and record retention horizonsigningIdPermittedSkew- permitted future signing identifier clock skewsigningMaximumGroupSize- maximum number of newly committed signing WAL requests per durability group, from 1 through 32signingResidentIndexBudgetBytes- maximum conservatively accounted resident bytes shared by the signing indexes; must be positivesigningCompactionTransientBudgetBytes- maximum conservatively accounted resident bytes available only to detached compaction work; must be positiveinitialCrlNumber- initial number for a newly created CRL scope counter, from zero through2^159 - 1; defaults to onesigningEvidenceAudit- whether optional best-effort signing/proof evidence is appended; defaults to falsecredentialSearch- optional explicitly budgeted embedded credential search
FilesystemPkiStore.
This options container configures the filesystem store behavior while keeping
the PkiStore SPI stable. All options have deterministic semantics and
should be suitable for tests and for reference deployments.
History tracking
Some records are mutable and are therefore stored as current.bin with
optional historical snapshots under history/. The individual history
policies allow tuning the retention behavior without changing the store
contract.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordExplicit resource settings for the derived embedded H2 search index. -
Constructor Summary
ConstructorsConstructorDescriptionFsPkiStoreOptions(FsHistoryPolicy caHistoryPolicy, FsHistoryPolicy profileHistoryPolicy, FsHistoryPolicy revocationHistoryPolicy, FsHistoryPolicy workflowHistoryPolicy, boolean strictSnapshotExport, Duration signingOperationHorizon, Duration signingIdPermittedSkew, int signingMaximumGroupSize, long signingResidentIndexBudgetBytes, long signingCompactionTransientBudgetBytes, BigInteger initialCrlNumber, boolean signingEvidenceAudit) Creates existing filesystem options with credential search disabled.FsPkiStoreOptions(FsHistoryPolicy caHistoryPolicy, FsHistoryPolicy profileHistoryPolicy, FsHistoryPolicy revocationHistoryPolicy, FsHistoryPolicy workflowHistoryPolicy, boolean strictSnapshotExport, Duration signingOperationHorizon, Duration signingIdPermittedSkew, int signingMaximumGroupSize, long signingResidentIndexBudgetBytes, long signingCompactionTransientBudgetBytes, BigInteger initialCrlNumber, boolean signingEvidenceAudit, Optional<FsPkiStoreOptions.CredentialSearch> credentialSearch) Canonical constructor with validation. -
Method Summary
Modifier and TypeMethodDescriptionReturns the value of thecaHistoryPolicyrecord component.Returns the value of thecredentialSearchrecord component.static FsPkiStoreOptionsdefaults()Returns default options (history enabled with 90 days retention).final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.Returns the value of theinitialCrlNumberrecord component.Returns the value of theprofileHistoryPolicyrecord component.Returns the value of therevocationHistoryPolicyrecord component.longReturns the value of thesigningCompactionTransientBudgetBytesrecord component.booleanReturns the value of thesigningEvidenceAuditrecord component.Returns the value of thesigningIdPermittedSkewrecord component.intReturns the value of thesigningMaximumGroupSizerecord component.Returns the value of thesigningOperationHorizonrecord component.longReturns the value of thesigningResidentIndexBudgetBytesrecord component.booleanReturns the value of thestrictSnapshotExportrecord component.final StringtoString()Returns a string representation of this record class.withCredentialSearch(Optional<FsPkiStoreOptions.CredentialSearch> configuration) Returns a copy with explicitly selected credential-search resources.withInitialCrlNumber(BigInteger number) Returns an immutable copy with the initial number for new CRL scope counters.withSigningCompactionTransientBudgetBytes(long maximumBytes) Returns a copy using the supplied detached-compaction resident budget.withSigningEvidenceAudit(boolean enabled) Returns a copy enabling or disabling best-effort terminal signing and internal-proof evidence.withSigningMaximumGroupSize(int maximumGroupSize) Returns a copy using the supplied maximum signing durability-group size.withSigningResidentIndexBudgetBytes(long maximumBytes) Returns a copy using the supplied shared resident signing-index budget.Returns the value of theworkflowHistoryPolicyrecord component.
-
Constructor Details
-
FsPkiStoreOptions
public FsPkiStoreOptions(FsHistoryPolicy caHistoryPolicy, FsHistoryPolicy profileHistoryPolicy, FsHistoryPolicy revocationHistoryPolicy, FsHistoryPolicy workflowHistoryPolicy, boolean strictSnapshotExport, Duration signingOperationHorizon, Duration signingIdPermittedSkew, int signingMaximumGroupSize, long signingResidentIndexBudgetBytes, long signingCompactionTransientBudgetBytes, BigInteger initialCrlNumber, boolean signingEvidenceAudit) Creates existing filesystem options with credential search disabled.- Parameters:
caHistoryPolicy- CA history policyprofileHistoryPolicy- profile history policyrevocationHistoryPolicy- revocation history policyworkflowHistoryPolicy- workflow history policystrictSnapshotExport- strict snapshot validationsigningOperationHorizon- signing retention horizonsigningIdPermittedSkew- allowed signing identifier clock skewsigningMaximumGroupSize- signing durability-group boundsigningResidentIndexBudgetBytes- signing resident-memory budgetsigningCompactionTransientBudgetBytes- signing transient-memory budgetinitialCrlNumber- initial CRL numbersigningEvidenceAudit- whether signing evidence is enabled
-
FsPkiStoreOptions
public FsPkiStoreOptions(FsHistoryPolicy caHistoryPolicy, FsHistoryPolicy profileHistoryPolicy, FsHistoryPolicy revocationHistoryPolicy, FsHistoryPolicy workflowHistoryPolicy, boolean strictSnapshotExport, Duration signingOperationHorizon, Duration signingIdPermittedSkew, int signingMaximumGroupSize, long signingResidentIndexBudgetBytes, long signingCompactionTransientBudgetBytes, BigInteger initialCrlNumber, boolean signingEvidenceAudit, Optional<FsPkiStoreOptions.CredentialSearch> credentialSearch) Canonical constructor with validation.- Throws:
NullPointerException- if a required object value isnullIllegalArgumentException- if a duration, signing group size, or resident-index budget or initial CRL number is outside its supported range
-
-
Method Details
-
defaults
Returns default options (history enabled with 90 days retention).The default is suitable for a reference deployment and for integration tests, but production systems may tune retention windows and cleanup strategies based on operational requirements.
- Returns:
- default options
-
withSigningMaximumGroupSize
Returns a copy using the supplied maximum signing durability-group size.The setting constrains only groups written after the store is opened. Existing valid groups remain readable up to the persistent format limit of 32 requests.
- Parameters:
maximumGroupSize- maximum requests per newly committed group, from 1 through 32- Returns:
- an immutable copy with the supplied group size
- Throws:
IllegalArgumentException- ifmaximumGroupSizeis outside the supported range
-
withSigningResidentIndexBudgetBytes
Returns a copy using the supplied shared resident signing-index budget.The budget is conservative accounting used to reject an index update before it can exceed the configured resident-memory envelope. It applies equally when creating a store and rebuilding its indexes during open.
- Parameters:
maximumBytes- maximum conservatively accounted resident bytes; must be positive- Returns:
- an immutable copy with the supplied resident-index budget
- Throws:
IllegalArgumentException- ifmaximumBytesis not positive
-
withSigningCompactionTransientBudgetBytes
Returns a copy using the supplied detached-compaction resident budget.- Parameters:
maximumBytes- maximum conservatively accounted transient bytes; must be positive and must form a representable combined envelope with the steady resident-index budget- Returns:
- an immutable copy with the supplied transient budget
- Throws:
IllegalArgumentException- if the budget is invalid
-
withInitialCrlNumber
Returns an immutable copy with the initial number for new CRL scope counters. This setting does not reset an existing counter.- Parameters:
number- initial issued number, from zero through2^159 - 1- Returns:
- an immutable copy preserving all other options
- Throws:
NullPointerException- ifnumberisnullIllegalArgumentException- ifnumberis outside the issued range
-
withSigningEvidenceAudit
Returns a copy enabling or disabling best-effort terminal signing and internal-proof evidence. Enabled evidence costs a separate metadata commit per new entry. Missing entries are recoverable only while their authoritative workflow remains retained; this option does not delay retirement or purge and creates no delivery worker.- Parameters:
enabled- whether the optional signing evidence feed is maintained- Returns:
- an immutable copy preserving every other option
-
withCredentialSearch
public FsPkiStoreOptions withCredentialSearch(Optional<FsPkiStoreOptions.CredentialSearch> configuration) Returns a copy with explicitly selected credential-search resources.- Parameters:
configuration- explicit search settings; empty disables the index- Returns:
- immutable options preserving all other settings
-
toString
-
hashCode
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared withObjects::equals(Object,Object); primitive components are compared with thecomparemethod from their corresponding wrapper classes. -
caHistoryPolicy
Returns the value of thecaHistoryPolicyrecord component.- Returns:
- the value of the
caHistoryPolicyrecord component
-
profileHistoryPolicy
Returns the value of theprofileHistoryPolicyrecord component.- Returns:
- the value of the
profileHistoryPolicyrecord component
-
revocationHistoryPolicy
Returns the value of therevocationHistoryPolicyrecord component.- Returns:
- the value of the
revocationHistoryPolicyrecord component
-
workflowHistoryPolicy
Returns the value of theworkflowHistoryPolicyrecord component.- Returns:
- the value of the
workflowHistoryPolicyrecord component
-
strictSnapshotExport
public boolean strictSnapshotExport()Returns the value of thestrictSnapshotExportrecord component.- Returns:
- the value of the
strictSnapshotExportrecord component
-
signingOperationHorizon
Returns the value of thesigningOperationHorizonrecord component.- Returns:
- the value of the
signingOperationHorizonrecord component
-
signingIdPermittedSkew
Returns the value of thesigningIdPermittedSkewrecord component.- Returns:
- the value of the
signingIdPermittedSkewrecord component
-
signingMaximumGroupSize
public int signingMaximumGroupSize()Returns the value of thesigningMaximumGroupSizerecord component.- Returns:
- the value of the
signingMaximumGroupSizerecord component
-
signingResidentIndexBudgetBytes
public long signingResidentIndexBudgetBytes()Returns the value of thesigningResidentIndexBudgetBytesrecord component.- Returns:
- the value of the
signingResidentIndexBudgetBytesrecord component
-
signingCompactionTransientBudgetBytes
public long signingCompactionTransientBudgetBytes()Returns the value of thesigningCompactionTransientBudgetBytesrecord component.- Returns:
- the value of the
signingCompactionTransientBudgetBytesrecord component
-
initialCrlNumber
Returns the value of theinitialCrlNumberrecord component.- Returns:
- the value of the
initialCrlNumberrecord component
-
signingEvidenceAudit
public boolean signingEvidenceAudit()Returns the value of thesigningEvidenceAuditrecord component.- Returns:
- the value of the
signingEvidenceAuditrecord component
-
credentialSearch
Returns the value of thecredentialSearchrecord component.- Returns:
- the value of the
credentialSearchrecord component
-