@ThreadSafe public class RSASSAVerifier extends java.lang.Object implements JWSVerifier
JWS objects
. This class is thread-safe.
Supports the following JSON Web Algorithms (JWAs):
Accepts all reserved JWS header parameters
. Modify the header filter
properties to restrict the acceptable JWS algorithms and
header parameters, or to allow custom JWS header parameters.
Modifier and Type | Field and Description |
---|---|
static java.util.Set<JWSAlgorithm> |
SUPPORTED_ALGORITHMS
The supported JWS algorithms.
|
Constructor and Description |
---|
RSASSAVerifier(java.security.interfaces.RSAPublicKey publicKey)
Creates a new RSA Signature-Scheme-with-Appendix (RSASSA) verifier.
|
Modifier and Type | Method and Description |
---|---|
JWSHeaderFilter |
getJWSHeaderFilter()
Gets the JWS header filter associated with the verifier.
|
java.security.interfaces.RSAPublicKey |
getPublicKey()
Gets the public RSA key.
|
protected static java.security.Signature |
getRSASignerAndVerifier(JWSAlgorithm alg)
Gets an RSA signer and verifier for the specified RSASSA-based JSON
Web Algorithm (JWA).
|
java.util.Set<JWSAlgorithm> |
supportedAlgorithms()
Returns the names of the supported JWS algorithms.
|
boolean |
verify(ReadOnlyJWSHeader header,
byte[] signedContent,
Base64URL signature)
Verifies the specified
signature of a
JWS object . |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
supportedAlgorithms
public static final java.util.Set<JWSAlgorithm> SUPPORTED_ALGORITHMS
public RSASSAVerifier(java.security.interfaces.RSAPublicKey publicKey)
publicKey
- The public RSA key. Must not be null
.public java.security.interfaces.RSAPublicKey getPublicKey()
public JWSHeaderFilter getJWSHeaderFilter()
JWSVerifier
supported JWS algorithms
and
header parameters that the verifier is configured to accept.
Attempting to verify
a JWS object signature with an
algorithm or header parameter that is not accepted must result in a
JOSEException
.
getJWSHeaderFilter
in interface JWSVerifier
public boolean verify(ReadOnlyJWSHeader header, byte[] signedContent, Base64URL signature) throws JOSEException
JWSVerifier
signature
of a
JWS object
.verify
in interface JWSVerifier
header
- The JSON Web Signature (JWS) header. Must
specify an accepted JWS algorithm, must contain
only accepted header parameters, and must not be
null
.signedContent
- The signed content. Must not be null
.signature
- The signature part of the JWS object. Must not
be null
.true
if the signature was successfully verified, else
false
.JOSEException
- If the JWS algorithm is not accepted, if a header
parameter is not accepted, or if signature
verification failed for some other reason.protected static java.security.Signature getRSASignerAndVerifier(JWSAlgorithm alg) throws JOSEException
alg
- The JSON Web Algorithm (JWA). Must be supported and not
null
.JOSEException
- If the algorithm is not supported.public java.util.Set<JWSAlgorithm> supportedAlgorithms()
JWSAlgorithmProvider
alg
JWS header parameter.supportedAlgorithms
in interface JWSAlgorithmProvider
Copyright © 2013 NimbusDS. All Rights Reserved.