Class OctetSequenceKey.Builder

java.lang.Object
com.nimbusds.jose.jwk.OctetSequenceKey.Builder
Enclosing class:
OctetSequenceKey

public static class OctetSequenceKey.Builder extends Object
Builder for constructing octet sequence JWKs.

Example usage:

 OctetSequenceKey key = new OctetSequenceKey.Builder(k)
     .algorithm(JWSAlgorithm.HS512)
     .keyID("123")
     .build();
 
  • Constructor Details

    • Builder

      public Builder(Base64URL k)
      Creates a new octet sequence JWK builder.
      Parameters:
      k - The key value. It is represented as the Base64URL encoding of value's big endian representation. Must not be null.
    • Builder

      public Builder(byte[] key)
      Creates a new octet sequence JWK builder.
      Parameters:
      key - The key value. Must not be empty byte array or null.
    • Builder

      public Builder(SecretKey secretKey)
      Creates a new octet sequence JWK builder.
      Parameters:
      secretKey - The secret key to represent. Must not be null.
    • Builder

      public Builder(OctetSequenceKey octJWK)
      Creates a new octet sequence JWK builder.
      Parameters:
      octJWK - The octet sequence JWK to start with. Must not be null.
  • Method Details

    • keyUse

      Sets the use (use) of the JWK.
      Parameters:
      use - The key use, null if not specified or if the key is intended for signing as well as encryption.
      Returns:
      This builder.
    • keyOperations

      Sets the operations (key_ops) of the JWK (for a non-public key).
      Parameters:
      ops - The key operations, null if not specified.
      Returns:
      This builder.
    • algorithm

      Sets the intended JOSE algorithm (alg) for the JWK.
      Parameters:
      alg - The intended JOSE algorithm, null if not specified.
      Returns:
      This builder.
    • keyID

      Sets the ID (kid) of the JWK. The key ID can be used to match a specific key. This can be used, for instance, to choose a key within a JWKSet during key rollover. The key ID may also correspond to a JWS/JWE kid header parameter value.
      Parameters:
      kid - The key ID, null if not specified.
      Returns:
      This builder.
    • keyIDFromThumbprint

      Sets the ID (kid) of the JWK to its SHA-256 JWK thumbprint (RFC 7638). The key ID can be used to match a specific key. This can be used, for instance, to choose a key within a JWKSet during key rollover. The key ID may also correspond to a JWS/JWE kid header parameter value.
      Returns:
      This builder.
      Throws:
      JOSEException - If the SHA-256 hash algorithm is not supported.
    • keyIDFromThumbprint

      Sets the ID (kid) of the JWK to its JWK thumbprint (RFC 7638). The key ID can be used to match a specific key. This can be used, for instance, to choose a key within a JWKSet during key rollover. The key ID may also correspond to a JWS/JWE kid header parameter value.
      Parameters:
      hashAlg - The hash algorithm for the JWK thumbprint computation. Must not be null.
      Returns:
      This builder.
      Throws:
      JOSEException - If the hash algorithm is not supported.
    • x509CertURL

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

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

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

      Sets the X.509 certificate chain (x5c) of the JWK.
      Parameters:
      x5c - The X.509 certificate chain as a unmodifiable list, null if not specified.
      Returns:
      This builder.
    • expirationTime

      Sets the expiration time (exp) of the JWK.
      Parameters:
      exp - The expiration time, null if not specified.
      Returns:
      This builder.
    • notBeforeTime

      Sets the not-before time (nbf) of the JWK.
      Parameters:
      nbf - The not-before time, null if not specified.
      Returns:
      This builder.
    • issueTime

      Sets the issued-at time (iat) of the JWK.
      Parameters:
      iat - The issued-at time, null if not specified.
      Returns:
      This builder.
    • keyRevocation

      Sets the revocation (revoked) of the JWK.
      Parameters:
      revocation - The key revocation, null if not specified.
      Returns:
      This builder.
    • keyStore

      Sets the underlying key store.
      Parameters:
      keyStore - Reference to the underlying key store, null if none.
      Returns:
      This builder.
    • build

      Builds a new octet sequence JWK.
      Returns:
      The octet sequence JWK.
      Throws:
      IllegalStateException - If the JWK parameters were inconsistently specified.