Class AlgorithmIdentity
java.lang.Object
zeroecho.core.spec.AlgorithmIdentity
Provider-independent identity of one exact cryptographic operation or key
type.
An identity contains no provider, implementation class, key material, or X.509 representation. Families are namespaced so trusted installed extensions can add typed parameter models without modifying a central enum. The parameter object is responsible for family-specific validation and a deterministic canonical component.
Instances are immutable. Equality and hashing use the complete canonical semantics, including the role, family, and parameters.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordDigest-qualified signature parameters.static final recordStable namespaced algorithm family name.static enumSemantic role represented by an identity.static final recordExact named parameter set, such as an elliptic-curve name.static enumParameters for an unparameterized family.static interfaceTyped, immutable family parameters.static final recordExact RSA-PSS parameters. -
Constructor Summary
ConstructorsConstructorDescriptionAlgorithmIdentity(AlgorithmIdentity.Kind kind, AlgorithmIdentity.Family family, AlgorithmIdentity.Parameters parameters) Creates one exact algorithm identity.AlgorithmIdentity(AlgorithmIdentity.Kind kind, AlgorithmIdentity.Family family, AlgorithmIdentity.Parameters parameters, AlgorithmIdentityCodec codec) Creates one exact algorithm identity using a trusted typed codec. -
Method Summary
Modifier and TypeMethodDescriptionReturns the deterministic provider-independent representation.booleanfamily()Returns the stable family.inthashCode()kind()Returns the semantic identity kind.Returns the immutable typed parameters.static AlgorithmIdentityparse(String canonicalForm, Collection<AlgorithmIdentityCodec> codecs) Parses a complete version-two canonical identity with installed codecs.toString()
-
Constructor Details
-
AlgorithmIdentity
public AlgorithmIdentity(AlgorithmIdentity.Kind kind, AlgorithmIdentity.Family family, AlgorithmIdentity.Parameters parameters) Creates one exact algorithm identity.- Parameters:
kind- semantic rolefamily- stable namespaced familyparameters- validated typed parameters- Throws:
NullPointerException- if an argument isnullIllegalArgumentException- if the parameter canonical form is not deterministic syntax
-
AlgorithmIdentity
public AlgorithmIdentity(AlgorithmIdentity.Kind kind, AlgorithmIdentity.Family family, AlgorithmIdentity.Parameters parameters, AlgorithmIdentityCodec codec) Creates one exact algorithm identity using a trusted typed codec.- Parameters:
kind- semantic rolefamily- stable namespaced familyparameters- validated typed parameterscodec- immutable canonical parameter codec
-
-
Method Details
-
kind
-
family
-
parameters
Returns the immutable typed parameters.- Returns:
- family parameters
-
parse
public static AlgorithmIdentity parse(String canonicalForm, Collection<AlgorithmIdentityCodec> codecs) Parses a complete version-two canonical identity with installed codecs.- Parameters:
canonicalForm- canonical identitycodecs- trusted installed codecs- Returns:
- exact decoded identity
- Throws:
IllegalArgumentException- if syntax, version, codec, or canonical round-trip validation fails
-
canonicalForm
Returns the deterministic provider-independent representation.- Returns:
- complete canonical identity
-
equals
-
hashCode
-
toString
-