Package com.nimbusds.jose
Class JWSObjectJSON
- java.lang.Object
-
- com.nimbusds.jose.JOSEObjectJSON
-
- com.nimbusds.jose.JWSObjectJSON
-
- All Implemented Interfaces:
Serializable
@ThreadSafe public class JWSObjectJSON extends JOSEObjectJSON
JSON Web Signature (JWS) secured object serialisable to JSON.This class is thread-safe.
- Version:
- 2021-10-09
- Author:
- Alexander Martynov, Vladimir Dzhuvinov
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JWSObjectJSON.Signature
Individual signature in a JWS secured object serialisable to JSON.static class
JWSObjectJSON.State
Enumeration of the states of a JSON Web Signature (JWS) secured object serialisable to JSON.
-
Field Summary
-
Fields inherited from class com.nimbusds.jose.JOSEObjectJSON
MIME_TYPE_JOSE_JSON
-
-
Constructor Summary
Constructors Constructor Description JWSObjectJSON(Payload payload)
Creates a new to-be-signed JSON Web Signature (JWS) secured object with the specified payload.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description List<JWSObjectJSON.Signature>
getSignatures()
Returns the individual signatures.JWSObjectJSON.State
getState()
Returns the current signatures state.static JWSObjectJSON
parse(String json)
Parses a JWS secured object from the specified JSON object string.static JWSObjectJSON
parse(Map<String,Object> jsonObject)
Parses a JWS secured object from the specified JSON object representation.String
serializeFlattened()
Serialises this JOSE object to a flattened JSON object string.String
serializeGeneral()
Serialises this JOSE object to a general JOSE object string.void
sign(JWSHeader jwsHeader, JWSSigner signer)
Signs this JWS secured object with the specified JWS signer and adds the resulting signature to it.void
sign(JWSHeader jwsHeader, UnprotectedHeader unprotectedHeader, JWSSigner signer)
Signs this JWS secured object with the specified JWS signer and adds the resulting signature to it.Map<String,Object>
toFlattenedJSONObject()
Map<String,Object>
toGeneralJSONObject()
-
Methods inherited from class com.nimbusds.jose.JOSEObjectJSON
getPayload, setPayload
-
-
-
-
Constructor Detail
-
JWSObjectJSON
public JWSObjectJSON(Payload payload)
Creates a new to-be-signed JSON Web Signature (JWS) secured object with the specified payload.- Parameters:
payload
- The payload. Must not benull
.
-
-
Method Detail
-
getSignatures
public List<JWSObjectJSON.Signature> getSignatures()
Returns the individual signatures.- Returns:
- The individual signatures, as an unmodified list, empty list if none have been added.
-
sign
public void sign(JWSHeader jwsHeader, JWSSigner signer) throws JOSEException
Signs this JWS secured object with the specified JWS signer and adds the resulting signature to it. To add multiplesignatures
call this method successively.- Parameters:
jwsHeader
- The JWS protected header. The algorithm specified by the header must be supported by the JWS signer. Must not benull
.signer
- The JWS signer. Must not benull
.- Throws:
JOSEException
- If the JWS object couldn't be signed.
-
sign
public void sign(JWSHeader jwsHeader, UnprotectedHeader unprotectedHeader, JWSSigner signer) throws JOSEException
Signs this JWS secured object with the specified JWS signer and adds the resulting signature to it. To add multiplesignatures
call this method successively.- Parameters:
jwsHeader
- The JWS protected header. The algorithm specified by the header must be supported by the JWS signer. Must not benull
.unprotectedHeader
- The unprotected header to include,null
if none.signer
- The JWS signer. Must not benull
.- Throws:
JOSEException
- If the JWS object couldn't be signed.
-
getState
public JWSObjectJSON.State getState()
Returns the current signatures state.- Returns:
- The state.
-
toGeneralJSONObject
public Map<String,Object> toGeneralJSONObject()
-
toFlattenedJSONObject
public Map<String,Object> toFlattenedJSONObject()
-
serializeGeneral
public String serializeGeneral()
Description copied from class:JOSEObjectJSON
Serialises this JOSE object to a general JOSE object string.- Specified by:
serializeGeneral
in classJOSEObjectJSON
- Returns:
- The JSON object string.
-
serializeFlattened
public String serializeFlattened()
Description copied from class:JOSEObjectJSON
Serialises this JOSE object to a flattened JSON object string. There must be exactly one JWS signature or JWE recipient for a flattened JSON serialisation.See JWS flattened serialisation or JWE flattened serialisation.
- Specified by:
serializeFlattened
in classJOSEObjectJSON
- Returns:
- The JSON object string.
-
parse
public static JWSObjectJSON parse(Map<String,Object> jsonObject) throws ParseException
Parses a JWS secured object from the specified JSON object representation.- Parameters:
jsonObject
- The JSON object to parse. Must not benull
.- Returns:
- The JWS secured object.
- Throws:
ParseException
- If the JSON object couldn't be parsed to a JWS secured object.
-
parse
public static JWSObjectJSON parse(String json) throws ParseException
Parses a JWS secured object from the specified JSON object string.- Parameters:
json
- The JSON object string to parse. Must not benull
.- Returns:
- The JWS secured object.
- Throws:
ParseException
- If the string couldn't be parsed to a JWS secured object.
-
-