Class PlainHeader

java.lang.Object
com.nimbusds.jose.Header
com.nimbusds.jose.PlainHeader
All Implemented Interfaces:
Serializable

@Immutable public final class PlainHeader extends Header
Unsecured (alg=none) JOSE header. This class is immutable.

Supports all registered header parameters of the unsecured JOSE object specification:

  • alg (set to "none").
  • typ
  • cty
  • crit

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

Example:

 {
   "alg" : "none"
 }
 
Version:
2021-06-04
Author:
Vladimir Dzhuvinov
See Also:
  • Constructor Details

    • PlainHeader

      public PlainHeader()
      Creates a new minimal unsecured (plain) header with algorithm none.
    • PlainHeader

      public PlainHeader(JOSEObjectType typ, String cty, Set<String> crit, Map<String,Object> customParams, Base64URL parsedBase64URL)
      Creates a new unsecured (plain) header with algorithm none.
      Parameters:
      typ - The type (typ) parameter, null if not specified.
      cty - The content type (cty) parameter, null if not specified.
      crit - The names of the critical header (crit) parameters, empty set or null if none.
      customParams - The custom parameters, empty map or null if none.
      parsedBase64URL - The parsed Base64URL, null if the header is created from scratch.
    • PlainHeader

      public PlainHeader(PlainHeader plainHeader)
      Deep copy constructor.
      Parameters:
      plainHeader - The unsecured header to copy. Must not be null.
  • Method Details

    • getRegisteredParameterNames

      Gets the registered parameter names for unsecured headers.
      Returns:
      The registered parameter names, as an unmodifiable set.
    • getAlgorithm

      Gets the algorithm (alg) parameter.
      Overrides:
      getAlgorithm in class Header
      Returns:
      Algorithm.NONE.
    • parse

      public static PlainHeader parse(Map<String,Object> jsonObject) throws ParseException
      Parses an unsecured header from the specified JSON object.
      Parameters:
      jsonObject - The JSON object to parse. Must not be null.
      Returns:
      The unsecured header.
      Throws:
      ParseException - If the specified JSON object doesn't represent a valid unsecured header.
    • parse

      public static PlainHeader parse(Map<String,Object> jsonObject, Base64URL parsedBase64URL) throws ParseException
      Parses an unsecured header from the specified JSON object.
      Parameters:
      jsonObject - The JSON object to parse. Must not be null.
      parsedBase64URL - The original parsed Base64URL, null if not applicable.
      Returns:
      The unsecured header.
      Throws:
      ParseException - If the specified JSON object doesn't represent a valid unsecured header.
    • parse

      public static PlainHeader parse(String jsonString) throws ParseException
      Parses an unsecured header from the specified JSON string.
      Parameters:
      jsonString - The JSON string to parse. Must not be null.
      Returns:
      The unsecured header.
      Throws:
      ParseException - If the specified JSON string doesn't represent a valid unsecured header.
    • parse

      public static PlainHeader parse(String jsonString, Base64URL parsedBase64URL) throws ParseException
      Parses an unsecured header from the specified JSON string.
      Parameters:
      jsonString - The JSON string to parse. Must not be null.
      parsedBase64URL - The original parsed Base64URL, null if not applicable.
      Returns:
      The unsecured header.
      Throws:
      ParseException - If the specified JSON string doesn't represent a valid unsecured header.
    • parse

      public static PlainHeader parse(Base64URL base64URL) throws ParseException
      Parses an unsecured header from the specified Base64URL.
      Parameters:
      base64URL - The Base64URL to parse. Must not be null.
      Returns:
      The unsecured header.
      Throws:
      ParseException - If the specified Base64URL doesn't represent a valid unsecured header.