public class EdDSAParameterSpec
extends java.lang.Object
implements java.security.spec.AlgorithmParameterSpec
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.
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
Ed25519 |
static java.lang.String |
Ed448 |
| Constructor and 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.
|
| Modifier and Type | Method and 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.
|
public static final java.lang.String Ed25519
public static final java.lang.String Ed448
public EdDSAParameterSpec(java.lang.String curveName)
curveName - name of the curve to specify.public EdDSAParameterSpec(java.lang.String curveName,
boolean prehash)
curveName - name of the curve to specify.prehash - true to select the prehash (ph) variant.public EdDSAParameterSpec(java.lang.String curveName,
boolean prehash,
byte[] context)
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.public java.lang.String getCurveName()
public boolean isPrehash()
public byte[] getContext()