in java/cose/CoseKdfContext.java [62:82]
public static CoseKdfContext decode(byte[] data) throws CborException {
DataItem coseKdfContext = CborUtil.cborToDataItem(data);
Array array = CborUtil.asArray(coseKdfContext);
List<DataItem> dataItems = array.getDataItems();
if (dataItems.size() != COSE_KDF_CONTEXT_LENGTH) {
throw new CborException(
String.format(
"Recipient has the wrong length \nExpected: %s\nActual: %s",
COSE_KDF_CONTEXT_LENGTH, dataItems.size()));
}
int alg = CborUtil.asNumber(dataItems.get(COSE_KDF_CONTEXT_ALG_INDEX));
byte[] partyU = CborUtil.asByteString(dataItems.get(COSE_KDF_CONTEXT_PARTY_U_INDEX)).getBytes();
byte[] partyV = CborUtil.asByteString(dataItems.get(COSE_KDF_CONTEXT_PARTY_V_INDEX)).getBytes();
byte[] suppPubInfo =
CborUtil.asByteString(dataItems.get(COSE_KDF_CONTEXT_SUPP_PUB_INFO_INDEX)).getBytes();
return new CoseKdfContext(alg, partyU, partyV, suppPubInfo);
}