Package edu.iu.crypt

Interface WebCryptoHeader.Builder<B extends WebCryptoHeader.Builder<B>>

Type Parameters:
B - builder type
All Known Subinterfaces:
WebEncryptionRecipient.Builder<B>, WebSignature.Builder<B>
All Known Implementing Classes:
JoseBuilder, JweRecipientBuilder, JweRecipientBuilder.EncryptedKeyBuilder, JwsBuilder
Enclosing interface:
WebCryptoHeader

public static interface WebCryptoHeader.Builder<B extends WebCryptoHeader.Builder<B>>
Builder interface for creating WebCryptoHeader instances.
  • Method Details

    • keyId

      B keyId(String keyId)
      Sets the key ID relative to WebCryptoHeader.getKeySetUri() corresponding to a JWKS key entry.
      Parameters:
      keyId - key ID
      Returns:
      this
    • wellKnown

      B wellKnown(URI uri)
      Sets the URI where JWKS well-known key data can be retrieved.
      Parameters:
      uri - JWKS URI
      Returns:
      this
    • wellKnown

      B wellKnown(WebKey key)
      Sets the key to include with the header.
      Parameters:
      key - may include private/secret key data to use for encryption/signing; only WebKey.wellKnown() will be included in the header.
      Returns:
      this
    • key

      B key(WebKey key)
      The key to use for encrypting or signing.
      Parameters:
      key - key to use for encryption or signing; will not be included in the header. Use wellKnown(WebKey) to set the key and include well-known component in the header.
      Returns:
      this
    • type

      B type(String type)
      Sets the header type parameter value.
      Parameters:
      type - header type parameter value.
      Returns:
      this
    • contentType

      B contentType(String contentType)
      Sets the header content type parameter value.
      Parameters:
      contentType - header type parameter value.
      Returns:
      this
    • crit

      B crit(String... parameterNames)
      Sets critical parameter names.
      Parameters:
      parameterNames - critical parameter names
      Returns:
      this
    • param

      <T> B param(WebCryptoHeader.Param param, T value)
      Sets a registered parameter value
      Type Parameters:
      T - value type
      Parameters:
      param - parameter
      value - parameter value
      Returns:
      this
    • param

      <T> B param(String name, T value)
      Sets an extended parameter value
      Type Parameters:
      T - value type
      Parameters:
      name - parameter name
      value - parameter value
      Returns:
      this