Class EdDSAParameterSpec

  • All Implemented Interfaces:
    java.security.spec.AlgorithmParameterSpec

    public class EdDSAParameterSpec
    extends java.lang.Object
    implements java.security.spec.AlgorithmParameterSpec
    ParameterSpec for EdDSA signature algorithms.

    As well as selecting the curve (for key pair generation) the spec can carry the RFC 8032 instance selectors used when signing or verifying: the prehash flag (Ed25519ph / Ed448ph) and an optional context (Ed25519ctx, or the context permitted by Ed448 / the prehash variants). A context, when supplied, must be at most 255 bytes (RFC 8032 sec. 5.1 / 5.2). When neither prehash nor a non-empty context is supplied the spec selects the pure variant, matching BC's historical behaviour for the curve-name-only constructor.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String Ed25519  
      static java.lang.String Ed448  
    • Constructor Summary

      Constructors 
      Constructor Description
      EdDSAParameterSpec​(java.lang.String curveName)
      Base constructor - pure variant, no context.
      EdDSAParameterSpec​(java.lang.String curveName, boolean prehash)
      Constructor specifying the prehash (Ed25519ph / Ed448ph) selector.
      EdDSAParameterSpec​(java.lang.String curveName, boolean prehash, byte[] context)
      Constructor specifying the prehash selector and a context.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      byte[] getContext()
      Return the RFC 8032 context, or null if none was specified.
      java.lang.String getCurveName()
      Return the curve name specified by this parameterSpec.
      boolean isPrehash()
      Return whether the prehash (ph) variant is selected.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • EdDSAParameterSpec

        public EdDSAParameterSpec​(java.lang.String curveName)
        Base constructor - pure variant, no context.
        Parameters:
        curveName - name of the curve to specify.
      • EdDSAParameterSpec

        public EdDSAParameterSpec​(java.lang.String curveName,
                                  boolean prehash)
        Constructor specifying the prehash (Ed25519ph / Ed448ph) selector.
        Parameters:
        curveName - name of the curve to specify.
        prehash - true to select the prehash (ph) variant.
      • EdDSAParameterSpec

        public EdDSAParameterSpec​(java.lang.String curveName,
                                  boolean prehash,
                                  byte[] context)
        Constructor specifying the prehash selector and a context.
        Parameters:
        curveName - name of the curve to specify.
        prehash - true to select the prehash (ph) variant.
        context - the RFC 8032 context (at most 255 bytes), or null for none.
    • Method Detail

      • getCurveName

        public java.lang.String getCurveName()
        Return the curve name specified by this parameterSpec.
        Returns:
        the name of the curve this parameterSpec specifies.
      • isPrehash

        public boolean isPrehash()
        Return whether the prehash (ph) variant is selected.
        Returns:
        true if Ed25519ph / Ed448ph is selected, false for the pure / ctx variant.
      • getContext

        public byte[] getContext()
        Return the RFC 8032 context, or null if none was specified.
        Returns:
        a copy of the context, or null.