com.nimbusds.jose
Class JWSHeader

java.lang.Object
  extended by com.nimbusds.jose.Header
      extended by com.nimbusds.jose.CommonSEHeader
          extended by com.nimbusds.jose.JWSHeader
All Implemented Interfaces:
ReadOnlyCommonSEHeader, ReadOnlyHeader, ReadOnlyJWSHeader

public class JWSHeader
extends CommonSEHeader
implements ReadOnlyJWSHeader

JSON Web Signature (JWS) header.

Supports all reserved header parameters of the JWS specification:

The header may also carry custom parameters; these will be serialised and parsed along the reserved ones.

Example header of a JSON Web Signature (JWS) object using the HMAC SHA-256 algorithm:

 {
   "alg" : "HS256"
 }
 

Version:
$version$ (2013-05-07)
Author:
Vladimir Dzhuvinov

Field Summary
 
Fields inherited from class com.nimbusds.jose.Header
alg
 
Constructor Summary
JWSHeader(JWSAlgorithm alg)
          Creates a new JSON Web Signature (JWS) header.
 
Method Summary
 JWSAlgorithm getAlgorithm()
          Gets the algorithm (alg) parameter.
 Set<String> getIncludedParameters()
          Gets the names of all included parameters (reserved and custom) in the header instance.
static Set<String> getReservedParameterNames()
          Gets the reserved parameter names for JWS headers.
static JWSHeader parse(Base64URL base64URL)
          Parses a JWS header from the specified Base64URL.
static JWSHeader parse(net.minidev.json.JSONObject json)
          Parses a JWS header from the specified JSON object.
static JWSHeader parse(String s)
          Parses a JWS header from the specified JSON string.
 void setCustomParameter(String name, Object value)
          Sets a custom (non-reserved) parameter.
 
Methods inherited from class com.nimbusds.jose.CommonSEHeader
getJWK, getJWKURL, getKeyID, getX509CertChain, getX509CertThumbprint, getX509CertURL, parseX509CertChain, setJWK, setJWKURL, setKeyID, setX509CertChain, setX509CertThumbprint, setX509CertURL, toJSONObject
 
Methods inherited from class com.nimbusds.jose.Header
getContentType, getCriticalHeaders, getCustomParameter, getCustomParameters, getType, parseAlgorithm, setContentType, setCriticalHeaders, setCustomParameters, setParsedBase64URL, setType, toBase64URL, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.nimbusds.jose.ReadOnlyCommonSEHeader
getJWK, getJWKURL, getKeyID, getX509CertChain, getX509CertThumbprint, getX509CertURL
 
Methods inherited from interface com.nimbusds.jose.ReadOnlyHeader
getContentType, getCriticalHeaders, getCustomParameter, getCustomParameters, getType, toBase64URL, toJSONObject, toString
 

Constructor Detail

JWSHeader

public JWSHeader(JWSAlgorithm alg)
Creates a new JSON Web Signature (JWS) header.

Parameters:
alg - The JWS algorithm. Must not be null.
Method Detail

getReservedParameterNames

public static Set<String> getReservedParameterNames()
Gets the reserved parameter names for JWS headers.

Returns:
The reserved parameter names, as an unmodifiable set.

getAlgorithm

public JWSAlgorithm getAlgorithm()
Description copied from interface: ReadOnlyJWSHeader
Gets the algorithm (alg) parameter.

Specified by:
getAlgorithm in interface ReadOnlyHeader
Specified by:
getAlgorithm in interface ReadOnlyJWSHeader
Returns:
The algorithm parameter.

setCustomParameter

public void setCustomParameter(String name,
                               Object value)
Description copied from class: Header
Sets a custom (non-reserved) parameter. Callers and extending classes should ensure the parameter name doesn't match a reserved parameter name.

Overrides:
setCustomParameter in class Header
Parameters:
name - The name of the custom parameter. Must not match a reserved parameter name and must not be null.
value - The value of the custom parameter, should map to a valid JSON entity, null if not specified.
Throws:
IllegalArgumentException - If the specified parameter name matches a reserved parameter name.

getIncludedParameters

public Set<String> getIncludedParameters()
Description copied from interface: ReadOnlyHeader
Gets the names of all included parameters (reserved and custom) in the header instance.

Specified by:
getIncludedParameters in interface ReadOnlyHeader
Returns:
The included parameters.

parse

public static JWSHeader parse(net.minidev.json.JSONObject json)
                       throws ParseException
Parses a JWS header from the specified JSON object.

Parameters:
json - The JSON object to parse. Must not be null.
Returns:
The JWS header.
Throws:
ParseException - If the specified JSON object doesn't represent a valid JWS header.

parse

public static JWSHeader parse(String s)
                       throws ParseException
Parses a JWS header from the specified JSON string.

Parameters:
s - The JSON string to parse. Must not be null.
Returns:
The JWS header.
Throws:
ParseException - If the specified JSON object string doesn't represent a valid JWS header.

parse

public static JWSHeader parse(Base64URL base64URL)
                       throws ParseException
Parses a JWS header from the specified Base64URL.

Parameters:
base64URL - The Base64URL to parse. Must not be null.
Returns:
The JWS header.
Throws:
ParseException - If the specified Base64URL doesn't represent a valid JWS header.


Copyright © 2013 NimbusDS. All Rights Reserved.