Package com.nimbusds.jose
Class JWSHeader.Builder
java.lang.Object
com.nimbusds.jose.JWSHeader.Builder
- Enclosing class:
- JWSHeader
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 Summary
ConstructorsConstructorDescriptionBuilder
(JWSAlgorithm alg) Creates a new JWS header builder.Creates a new JWS header builder with the parameters from the specified header. -
Method Summary
Modifier and TypeMethodDescriptionbase64URLEncodePayload
(boolean b64) Sets the Base64URL encode payload (b64
) parameter.build()
Builds a new JWS header.contentType
(String cty) Sets the content type (cty
) parameter.criticalParams
(Set<String> crit) Sets the critical header parameters (crit
) parameter.customParam
(String name, Object value) Sets a custom (non-registered) parameter.customParams
(Map<String, Object> customParameters) Sets the custom (non-registered) parameters.Sets the public JSON Web Key (JWK) (jwk
) parameter.Sets the public JSON Web Key (JWK) Set URL (jku
) parameter.Sets the key ID (kid
) parameter.parsedBase64URL
(Base64URL base64URL) Sets the parsed Base64URL.type
(JOSEObjectType typ) Sets the type (typ
) parameter.x509CertChain
(List<Base64> x5c) Sets the X.509 certificate chain parameter (x5c
) corresponding to the key used to sign the JWS object.x509CertSHA256Thumbprint
(Base64URL x5t256) Sets the X.509 certificate SHA-256 thumbprint (x5t#S256
) parameter.Deprecated.x509CertURL
(URI x5u) Sets the X.509 certificate URL (x5u
) parameter.
-
Constructor Details
-
Builder
Creates a new JWS header builder.- Parameters:
alg
- The JWS algorithm (alg
) parameter. Must not be "none" ornull
.
-
Builder
Creates a new JWS header builder with the parameters from the specified header.- Parameters:
jwsHeader
- The JWS header to use. Must not benull
.
-
-
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 ornull
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
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
Sets a custom (non-registered) parameter.- Parameters:
name
- The name of the custom parameter. Must not match a registered parameter name and must not benull
.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
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 ornull
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
Builds a new JWS header.- Returns:
- The JWS header.
-