Record Class CredentialConfirmationProofChallenge
java.lang.Object
java.lang.Record
zeroecho.pki.api.confirmation.CredentialConfirmationProofChallenge
- Record Components:
proofCas- exact pending lifecycle and issued challenge correlation coordinatesproofSuiteBinding- exact suite binding used to construct the presentationexpiresAt- authoritative whole-second challenge expirymaximumResponseBytes- inclusive response bound from 1 through 16384 bytespresentation- non-empty suite-defined presentation, at most 2048 bytes
public record CredentialConfirmationProofChallenge(CredentialConfirmationProofCas proofCas, ConfirmationProofSuiteBinding proofSuiteBinding, Instant expiresAt, int maximumResponseBytes, byte[] presentation)
extends Record
Immutable safe presentation of one issued credential-confirmation proof challenge.
The challenge-record commitment inside proofCas is a non-secret
correlation and compare-and-set coordinate. Possession of it grants no
authorization, disclosure access, or evidence of key possession.
-
Constructor Summary
ConstructorsConstructorDescriptionCredentialConfirmationProofChallenge(CredentialConfirmationProofCas proofCas, ConfirmationProofSuiteBinding proofSuiteBinding, Instant expiresAt, int maximumResponseBytes, byte[] presentation) Validates exact public coordinates and defensively owns presentation bytes. -
Method Summary
Modifier and TypeMethodDescriptionbooleanCompares presentation bytes by content.Returns the value of theexpiresAtrecord component.inthashCode()Returns a content-based hash code for every component.intReturns the value of themaximumResponseBytesrecord component.byte[]Returns a defensive copy of the suite-defined presentation.proofCas()Returns the value of theproofCasrecord component.Returns the value of theproofSuiteBindingrecord component.toString()Returns a structural description without presentation bytes.
-
Constructor Details
-
CredentialConfirmationProofChallenge
public CredentialConfirmationProofChallenge(CredentialConfirmationProofCas proofCas, ConfirmationProofSuiteBinding proofSuiteBinding, Instant expiresAt, int maximumResponseBytes, byte[] presentation) Validates exact public coordinates and defensively owns presentation bytes.- Throws:
NullPointerException- if a reference component isnullIllegalArgumentException- if an expiry or byte bound is invalid
-
-
Method Details
-
presentation
public byte[] presentation()Returns a defensive copy of the suite-defined presentation.- Returns:
- challenge presentation bytes
-
equals
-
hashCode
-
toString
-
proofCas
-
proofSuiteBinding
Returns the value of theproofSuiteBindingrecord component.- Returns:
- the value of the
proofSuiteBindingrecord component
-
expiresAt
-
maximumResponseBytes
public int maximumResponseBytes()Returns the value of themaximumResponseBytesrecord component.- Returns:
- the value of the
maximumResponseBytesrecord component
-