@Override public void prepareComputations() { if (getComputations() == null) { computations = new SRPClientComputations(); } }
private void setSRPPassword(SrpClientKeyExchangeMessage msg) { msg.getComputations().setSRPPassword(chooser.getSRPPassword()); LOGGER.debug("SRP Password used for Computations: " + msg.getComputations().getSRPPassword()); }
private void setComputationSalt(SrpClientKeyExchangeMessage msg) { msg.getComputations().setSalt(chooser.getSRPServerSalt()); LOGGER.debug("Salt used for Computations: " + msg.getComputations().getSalt()); }
private void setSRPIdentity(SrpClientKeyExchangeMessage msg) { msg.getComputations().setSRPIdentity(chooser.getSRPIdentity()); LOGGER.debug("SRP Identity used for Computations: " + msg.getComputations().getSRPIdentity()); }
private void setComputationServerPublicKey(SrpClientKeyExchangeMessage msg) { msg.getComputations().setServerPublicKey(chooser.getSRPServerPublicKey()); LOGGER.debug("Computation PublicKey: " + msg.getComputations().getServerPublicKey().getValue().toString()); }
private void preparePremasterSecret(SrpClientKeyExchangeMessage msg) { msg.getComputations().setPremasterSecret(premasterSecret); premasterSecret = msg.getComputations().getPremasterSecret().getValue(); LOGGER.debug("PremasterSecret: " + ArrayConverter.bytesToHexString(msg.getComputations().getPremasterSecret().getValue())); }
private void setComputationPrivateKey(SrpClientKeyExchangeMessage msg) { msg.getComputations().setPrivateKey(chooser.getSRPClientPrivateKey()); LOGGER.debug("Computation PrivateKey: " + msg.getComputations().getPrivateKey().getValue().toString()); }
private void setComputationGenerator(SrpClientKeyExchangeMessage msg) { msg.getComputations().setGenerator(chooser.getSRPGenerator()); LOGGER.debug("Generator: " + msg.getComputations().getGenerator().getValue()); }
private void setComputationModulus(SrpClientKeyExchangeMessage msg) { msg.getComputations().setModulus(chooser.getSRPModulus()); LOGGER.debug("Modulus: " + msg.getComputations().getModulus().getValue()); }
private void prepareClientServerRandom(SrpClientKeyExchangeMessage msg) { random = ArrayConverter.concatenate(chooser.getClientRandom(), chooser.getServerRandom()); msg.getComputations().setClientServerRandom(random); random = msg.getComputations().getClientServerRandom().getValue(); LOGGER.debug("ClientServerRandom: " + ArrayConverter.bytesToHexString(msg.getComputations().getClientServerRandom().getValue())); }
private void prepareSalt(SrpClientKeyExchangeMessage msg) { msg.setSalt(msg.getComputations().getSalt()); LOGGER.debug("Salt: " + ArrayConverter.bytesToHexString(msg.getSalt().getValue())); }
private void prepareGenerator(SrpClientKeyExchangeMessage msg) { msg.setGenerator(msg.getComputations().getGenerator().getByteArray()); LOGGER.debug("Generator: " + ArrayConverter.bytesToHexString(msg.getGenerator().getValue())); }
private void prepareModulus(SrpClientKeyExchangeMessage msg) { msg.setModulus(msg.getComputations().getModulus().getByteArray()); LOGGER.debug("Modulus: " + ArrayConverter.bytesToHexString(msg.getModulus().getValue())); }
@Override public void prepareHandshakeMessageContents() { LOGGER.debug("Preparing SRPClientExchangeMessage"); msg.prepareComputations(); setComputationGenerator(msg); setComputationModulus(msg); setComputationPrivateKey(msg); setComputationServerPublicKey(msg); setComputationSalt(msg); setSRPIdentity(msg); setSRPPassword(msg); clientPublicKey = calculatePublicKey(msg.getComputations().getGenerator().getValue(), msg.getComputations() .getModulus().getValue(), msg.getComputations().getPrivateKey().getValue()); prepareModulus(msg); prepareModulusLength(msg); prepareGenerator(msg); prepareGeneratorLength(msg); prepareSalt(msg); prepareSaltLength(msg); preparePublicKey(msg); preparePublicKeyLength(msg); premasterSecret = calculateClientPremasterSecret(msg.getComputations().getModulus().getValue(), msg .getComputations().getGenerator().getValue(), msg.getComputations().getPrivateKey().getValue(), msg .getComputations().getServerPublicKey().getValue(), clientPublicKey, msg.getComputations().getSalt() .getValue(), msg.getComputations().getSRPIdentity().getValue(), msg.getComputations().getSRPPassword() .getValue()); preparePremasterSecret(msg); prepareClientServerRandom(msg); }