public static CoseKey decode()

in java/cose/CoseKey.java [73:92]


  public static CoseKey decode(byte[] data) throws CborException {
    DataItem coseKey = CborUtil.cborToDataItem(data);
    Map keyMap = CborUtil.asMap(coseKey);

    int keyType = CborUtil.asNumber(keyMap.get(new UnsignedInteger(COSE_KEY_KTY_KEY)));
    byte[] keyId =
        CborUtil.asByteString(keyMap.get(new UnsignedInteger(COSE_KEY_KID_KEY))).getBytes();
    int alg = CborUtil.asNumber(keyMap.get(new UnsignedInteger(COSE_KEY_ALG_KEY)));

    Array keyOpsArray = CborUtil.asArray(keyMap.get(new UnsignedInteger(COSE_KEY_OPS_KEY)));
    ImmutableList.Builder<Integer> keyOps = ImmutableList.builder();
    for (DataItem entry : keyOpsArray.getDataItems()) {
      keyOps.add(CborUtil.asNumber(entry));
    }

    byte[] baseIv =
        CborUtil.asByteString(keyMap.get(new UnsignedInteger(COSE_KEY_BASE_IV_KEY))).getBytes();

    return new CoseKey(keyType, keyId, alg, keyOps.build(), baseIv);
  }