Class AlgorithmIdentifier

java.lang.Object
zeroecho.pkix.AlgorithmIdentifier

public final class AlgorithmIdentifier extends Object
Provider-independent X.509 AlgorithmIdentifier (RFC 5280): an OID with an exactly-typed parameter form.

This is a canonical value type. It never depends on a concrete cryptographic toolkit; it captures precisely how the algorithm parameters are encoded so that a backend can reproduce the exact DER form:

  • Method Details

    • absent

      public static AlgorithmIdentifier absent(String oid)
      Creates an identifier with no parameters field.
      Parameters:
      oid - dotted-decimal object identifier
      Returns:
      identifier with an absent parameter field
    • derNull

      public static AlgorithmIdentifier derNull(String oid)
      Creates an identifier whose parameters field is DER NULL.
      Parameters:
      oid - dotted-decimal object identifier
      Returns:
      identifier with a DER NULL parameter field
    • exact

      public static AlgorithmIdentifier exact(String oid, byte[] derParameters)
      Creates an identifier whose parameters field is exact canonical DER.
      Parameters:
      oid - dotted-decimal object identifier
      derParameters - exact DER encoding of the parameters field
      Returns:
      identifier with an exact-DER parameter field
    • oid

      public String oid()
      Returns the dotted-decimal object identifier.
      Returns:
      the OID
    • parameterForm

      public AlgorithmIdentifier.ParameterForm parameterForm()
      Returns the parameter encoding form.
      Returns:
      the parameter form
    • parameters

      public byte[] parameters()
      Returns a copy of the exact DER parameters, or null unless the form is AlgorithmIdentifier.ParameterForm.EXACT_DER.
      Returns:
      a defensive copy of the parameter DER, or null
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object