public static DataItem buildUnprotectedHeader()

in java/cose/CoseUtil.java [37:82]


  public static DataItem buildUnprotectedHeader(
      Optional<Integer> alg,
      Optional<List<Integer>> labels,
      Optional<Integer> contentType,
      Optional<byte[]> kid,
      Optional<byte[]> iv,
      Optional<byte[]> partialIv,
      Optional<byte[]> coseSignature) {

    MapBuilder<CborBuilder> headerMapBuilder = new CborBuilder().addMap();

    if (alg.isPresent()) {
      headerMapBuilder.put(COSE_GENERIC_HEADER_ALG_KEY, alg.get());
    }

    if (labels.isPresent()) {
      ArrayBuilder<MapBuilder<CborBuilder>> labelsArrayBuilder =
          headerMapBuilder.putArray(COSE_GENERIC_HEADER_CRIT_KEY);
      for (int label : labels.get()) {
        labelsArrayBuilder.add(label);
      }
      labelsArrayBuilder.end();
    }

    if (contentType.isPresent()) {
      headerMapBuilder.put(COSE_GENERIC_HEADER_CONTENT_TYPE_KEY, contentType.get());
    }

    if (kid.isPresent()) {
      headerMapBuilder.put(COSE_GENERIC_HEADER_KID_KEY, kid.get());
    }

    if (iv.isPresent()) {
      headerMapBuilder.put(COSE_GENERIC_HEADER_IV_KEY, iv.get());
    }

    if (partialIv.isPresent()) {
      headerMapBuilder.put(COSE_GENERIC_HEADER_PARTIAL_IV_KEY, partialIv.get());
    }

    if (coseSignature.isPresent()) {
      headerMapBuilder.put(COSE_GENERIC_HEADER_COUNTER_SIGNATURE_KEY, coseSignature.get());
    }

    return headerMapBuilder.end().build().get(0);
  }