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,nullif not specified.- Returns:
- This builder.
-
contentType
Sets the content type (cty) parameter.- Parameters:
cty- The content type parameter,nullif not specified.- Returns:
- This builder.
-
criticalParams
Sets the critical header parameters (crit) parameter.- Parameters:
crit- The names of the critical header parameters, empty set ornullif 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,nullif 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,nullif not specified.- Returns:
- This builder.
-
x509CertURL
Sets the X.509 certificate URL (x5u) parameter.- Parameters:
x5u- The X.509 certificate URL parameter,nullif 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,nullif 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,nullif 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,nullif not specified.- Returns:
- This builder.
-
keyID
Sets the key ID (kid) parameter.- Parameters:
kid- The key ID parameter,nullif not specified.- Returns:
- This builder.
-
base64URLEncodePayload
Sets the Base64URL encode payload (b64) parameter.- Parameters:
b64-trueto Base64URL encode the payload for standard JWS serialisation,falsefor 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,nullif 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 ornullif none.- Returns:
- This builder.
-
parsedBase64URL
Sets the parsed Base64URL.- Parameters:
base64URL- The parsed Base64URL,nullif the header is created from scratch.- Returns:
- This builder.
-
build
Builds a new JWS header.- Returns:
- The JWS header.
-