/** * Process DB Success message * * @param aStampContext current context * @param payload DB Success message */ public static void processCeCk(WitnessContext aStampContext, byte[] payload) { // parse Ce and Ck ArrayList<byte[]> ceck = MessageUtil.parseMessage(payload, 2); ArrayList<byte[]> ces = MessageUtil.parseMessages(ceck.get(0)); ArrayList<byte[]> cks = MessageUtil.parseMessages(ceck.get(1)); // obtain z BigInteger z = CryptoUtil.getZ(ces, cks, aStampContext.getPubDSASelf().getParams().getP()); aStampContext.setRemoteZ(z); }
/** * ******************************************************************** // Witness operations * * <p>/** Save preq information in current context for later use * * @param aStampContext current context * @param payload preq message body */ public static void processPreq(WitnessContext aStampContext, byte[] payload) { ArrayList<byte[]> array = MessageUtil.parseMessage(payload, 3); byte[] commID = array.get(0); aStampContext.setRemoteCommittedID(commID); byte[] time = array.get(1); aStampContext.setRemoteTime(time); byte[] location = array.get(2); aStampContext.setRemoteLocation(location); }