Class COSEHeaderBuilder<TBuilder extends COSEHeaderBuilder<TBuilder,THeader>,THeader>

java.lang.Object
com.authlete.cose.COSEHeaderBuilder<TBuilder,THeader>
Type Parameters:
TBuilder - The type of the subclass. Either COSEProtectedHeaderBuilder or COSEUnprotectedHeaderBuilder.
THeader - The type of the header to build. Either COSEProtectedHeader or COSEUnprotectedHeader.
Direct Known Subclasses:
COSEProtectedHeaderBuilder, COSEUnprotectedHeaderBuilder

public abstract class COSEHeaderBuilder<TBuilder extends COSEHeaderBuilder<TBuilder,THeader>,THeader> extends Object
Since:
1.1
See Also:
  • Constructor Details

    • COSEHeaderBuilder

      public COSEHeaderBuilder()
  • Method Details

    • put

      public TBuilder put(Object key, Object value)
      Set a parameter.
      Parameters:
      key - The key of the parameter to set.
      value - The value of the parameter to set.
      Returns:
      this object.
    • alg

      public TBuilder alg(int alg)
      Set the "alg (1)" parameter.
      Parameters:
      alg - An identifier assigned to an algorithm.
      Returns:
      this object.
      See Also:
    • alg

      public TBuilder alg(String alg)
      Set the "alg (1)" parameter.
      Parameters:
      alg - An algorithm name.
      Returns:
      this object.
      See Also:
    • alg

      public TBuilder alg(Object alg)
      Set the "alg (1)" parameter.
      Parameters:
      alg - The identifier or the name of an algorithm.
      Returns:
      this object.
      Since:
      1.5
      See Also:
    • crit

      public TBuilder crit(List<Object> labels)
      Set the "crit (2)" parameter.
      Parameters:
      labels - A list of labels. Elements must be integers and/or strings.
      Returns:
      this object.
    • contentType

      public TBuilder contentType(String contentType)
      Set the "content type (3)" parameter.
      Parameters:
      contentType - The content type.
      Returns:
      this object.
    • contentType

      public TBuilder contentType(int contentType)
      Set the "content type (3)" parameter.
      Parameters:
      contentType - The content type.
      Returns:
      this object.
    • kid

      public TBuilder kid(byte[] kid)
      Set the "kid (4)" parameter.
      Parameters:
      kid - The key ID.
      Returns:
      this object.
    • kid

      public TBuilder kid(String kid)
      Set the "kid (4)" parameter.
      Parameters:
      kid - The key ID. Its UTF-8 byte sequence is used.
      Returns:
      this object.
    • iv

      public TBuilder iv(byte[] iv)
      Set the "IV (5)" parameter.
      Parameters:
      iv - The full initialization vector.
      Returns:
      this object.
    • partialIv

      public TBuilder partialIv(byte[] partialIv)
      Set the "Partial IV (6)" parameter.
      Parameters:
      partialIv - The partial initialization vector.
      Returns:
      this object.
    • x5chain

      Set the "x5chain (33)" parameter.
      Parameters:
      chain - The certificate chain.
      Returns:
      this object.
      Throws:
      CertificateEncodingException
      Since:
      1.5
      See Also:
    • build

      public THeader build()
      Build a header instance.
      Returns:
      An instance of either COSEProtectedHeader or COSEUnprotectedHeader.