Package org.bouncycastle.jcajce.spec
Class EdDSAParameterSpec
- java.lang.Object
-
- org.bouncycastle.jcajce.spec.EdDSAParameterSpec
-
- All Implemented Interfaces:
java.security.spec.AlgorithmParameterSpec
public class EdDSAParameterSpec extends java.lang.Object implements java.security.spec.AlgorithmParameterSpecParameterSpec 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.
-
-
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.StringgetCurveName()Return the curve name specified by this parameterSpec.booleanisPrehash()Return whether the prehash (ph) variant is selected.
-
-
-
Field Detail
-
Ed25519
public static final java.lang.String Ed25519
- See Also:
- Constant Field Values
-
Ed448
public static final java.lang.String Ed448
- See Also:
- Constant Field Values
-
-
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.
-
-