Class JWSHeader.Builder

java.lang.Object
com.nimbusds.jose.JWSHeader.Builder
Enclosing class:
JWSHeader

public static class JWSHeader.Builder extends Object
Builder for constructing JSON Web Signature (JWS) headers.

Example usage:

 JWSHeader header = new JWSHeader.Builder(JWSAlgorithm.HS256)
                    .contentType("text/plain")
                    .customParam("exp", new Date().getTime())
                    .build();
 
  • Constructor Details

    • Builder

      public Builder(JWSAlgorithm alg)
      Creates a new JWS header builder.
      Parameters:
      alg - The JWS algorithm (alg) parameter. Must not be "none" or null.
    • Builder

      public Builder(JWSHeader jwsHeader)
      Creates a new JWS header builder with the parameters from the specified header.
      Parameters:
      jwsHeader - The JWS header to use. Must not be null.
  • Method Details

    • type

      Sets the type (typ) parameter.
      Parameters:
      typ - The type parameter, null if not specified.
      Returns:
      This builder.
    • contentType

      Sets the content type (cty) parameter.
      Parameters:
      cty - The content type parameter, null if not specified.
      Returns:
      This builder.
    • criticalParams

      Sets the critical header parameters (crit) parameter.
      Parameters:
      crit - The names of the critical header parameters, empty set or null if none.
      Returns:
      This builder.
    • jwkURL

      Sets the public JSON Web Key (JWK) Set URL (jku) parameter.
      Parameters:
      jku - The public JSON Web Key (JWK) Set URL parameter, null if not specified.
      Returns:
      This builder.
    • jwk

      public JWSHeader.Builder jwk(JWK jwk)
      Sets the public JSON Web Key (JWK) (jwk) parameter.
      Parameters:
      jwk - The public JSON Web Key (JWK) (jwk) parameter, null if not specified.
      Returns:
      This builder.
    • x509CertURL

      Sets the X.509 certificate URL (x5u) parameter.
      Parameters:
      x5u - The X.509 certificate URL parameter, null if not specified.
      Returns:
      This builder.
    • x509CertThumbprint

      Deprecated.
      Sets the X.509 certificate SHA-1 thumbprint (x5t) parameter.
      Parameters:
      x5t - The X.509 certificate SHA-1 thumbprint parameter, null if not specified.
      Returns:
      This builder.
    • x509CertSHA256Thumbprint

      Sets the X.509 certificate SHA-256 thumbprint (x5t#S256) parameter.
      Parameters:
      x5t256 - The X.509 certificate SHA-256 thumbprint parameter, null if not specified.
      Returns:
      This builder.
    • x509CertChain

      Sets the X.509 certificate chain parameter (x5c) corresponding to the key used to sign the JWS object.
      Parameters:
      x5c - The X.509 certificate chain parameter, null if not specified.
      Returns:
      This builder.
    • keyID

      Sets the key ID (kid) parameter.
      Parameters:
      kid - The key ID parameter, null if not specified.
      Returns:
      This builder.
    • base64URLEncodePayload

      Sets the Base64URL encode payload (b64) parameter.
      Parameters:
      b64 - true to Base64URL encode the payload for standard JWS serialisation, false for unencoded payload (RFC 7797).
      Returns:
      This builder.
    • customParam

      public JWSHeader.Builder customParam(String name, Object value)
      Sets a custom (non-registered) parameter.
      Parameters:
      name - The name of the custom parameter. Must not match a registered 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.
      Returns:
      This builder.
      Throws:
      IllegalArgumentException - If the specified parameter name matches a registered parameter name.
    • customParams

      public JWSHeader.Builder customParams(Map<String,Object> customParameters)
      Sets the custom (non-registered) parameters. The values must be serialisable to a JSON entity, otherwise will be ignored.
      Parameters:
      customParameters - The custom parameters, empty map or null if none.
      Returns:
      This builder.
    • parsedBase64URL

      Sets the parsed Base64URL.
      Parameters:
      base64URL - The parsed Base64URL, null if the header is created from scratch.
      Returns:
      This builder.
    • build

      public JWSHeader build()
      Builds a new JWS header.
      Returns:
      The JWS header.