Package com.nimbusds.jose.crypto
Class Ed25519Signer
java.lang.Object
com.nimbusds.jose.crypto.impl.BaseJWSProvider
com.nimbusds.jose.crypto.impl.EdDSAProvider
com.nimbusds.jose.crypto.Ed25519Signer
- All Implemented Interfaces:
JCAAware<JCAContext>,JOSEProvider,JWSProvider,JWSSigner
Ed25519 signer of
JWS objects.
Expects an OctetKeyPair with "crv" Ed25519.
Uses the Edwards-curve Digital Signature Algorithm (EdDSA).
See RFC 8037 for more information.
This class is thread-safe.
Supports the following algorithm:
- Version:
- 2024-05-07
- Author:
- Tim McLean
-
Field Summary
Fields inherited from class com.nimbusds.jose.crypto.impl.EdDSAProvider
SUPPORTED_ALGORITHMS, SUPPORTED_CURVES -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionGets the Ed25519 private key as anOctetKeyPair.Signs the specifiedinputof aJWS object.Methods inherited from class com.nimbusds.jose.crypto.impl.BaseJWSProvider
getJCAContext, supportedJWSAlgorithmsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.nimbusds.jose.jca.JCAAware
getJCAContextMethods inherited from interface com.nimbusds.jose.JWSProvider
supportedJWSAlgorithms
-
Constructor Details
-
Ed25519Signer
Creates a new Ed25519 signer.- Parameters:
privateKey- The private key. Must be of type Ed25519 ("crv": "Ed25519") and notnull.- Throws:
JOSEException- If the key subtype is not supported or if the key is not a private key.
-
-
Method Details
-
getPrivateKey
Gets the Ed25519 private key as anOctetKeyPair.- Returns:
- The private key.
-
sign
Description copied from interface:JWSSignerSigns the specifiedinputof aJWS object.- Specified by:
signin interfaceJWSSigner- Parameters:
header- The JSON Web Signature (JWS) header. Must specify a supported JWS algorithm and must not benull.signingInput- The input to sign. Must not benull.- Returns:
- The resulting signature part (third part) of the JWS object.
- Throws:
JOSEException- If the JWS algorithm is not supported, if a critical header parameter is not supported or marked for deferral to the application, or if signing failed for some other internal reason.
-