@Override public void prepareComputations() { if (getComputations() == null) { computations = new SRPServerComputations(); } }
private void setSRPIdentity(SrpServerKeyExchangeMessage msg) { msg.getComputations().setSRPIdentity(chooser.getSRPIdentity()); LOGGER.debug("SRP Identity used for Computations: " + msg.getComputations().getSRPIdentity()); }
private void setComputedSalt(SrpServerKeyExchangeMessage msg) { msg.getComputations().setSalt(chooser.getSRPServerSalt()); LOGGER.debug("Salt used for Computations: " + msg.getComputations().getSalt()); }
private void setSRPPassword(SrpServerKeyExchangeMessage msg) { msg.getComputations().setSRPPassword(chooser.getSRPPassword()); LOGGER.debug("SRP Password used for Computations: " + msg.getComputations().getSRPPassword()); }
private void setComputedGenerator(SrpServerKeyExchangeMessage msg) { msg.getComputations().setGenerator(chooser.getSRPGenerator()); LOGGER.debug("Generator used for Computations: " + msg.getComputations().getGenerator().getValue().toString(16)); }
private void setComputedModulus(SrpServerKeyExchangeMessage msg) { msg.getComputations().setModulus(chooser.getSRPModulus()); LOGGER.debug("Modulus used for Computations: " + msg.getComputations().getModulus().getValue().toString(16)); }
private void setComputedPrivateKey(SrpServerKeyExchangeMessage msg) { msg.getComputations().setPrivateKey(chooser.getSRPServerPrivateKey()); LOGGER.debug("PrivateKey: " + msg.getComputations().getPrivateKey().getValue()); }
private void prepareClientServerRandom(SrpServerKeyExchangeMessage msg) { msg.getComputations().setClientServerRandom( ArrayConverter.concatenate(chooser.getClientRandom(), chooser.getServerRandom())); LOGGER.debug("ClientServerRandom: " + ArrayConverter.bytesToHexString(msg.getComputations().getClientServerRandom().getValue())); }
@Override public void adjustTLSContext(SrpServerKeyExchangeMessage message) { adjustSRPGenerator(message); adjustSRPModulus(message); adjustSalt(message); adjustServerPublicKey(message); if (message.getComputations() != null && message.getComputations().getPrivateKey() != null) { adjustServerPrivateKey(message); } }
private void adjustServerPrivateKey(SrpServerKeyExchangeMessage message) { tlsContext.setServerSRPPrivateKey(message.getComputations().getPrivateKey().getValue()); LOGGER.debug("Server PrivateKey: " + tlsContext.getServerSRPPrivateKey()); }
private void prepareSalt(SrpServerKeyExchangeMessage msg) { msg.setSalt(msg.getComputations().getSalt()); LOGGER.debug("Salt: " + ArrayConverter.bytesToHexString(msg.getSalt().getValue())); }
private void prepareGenerator(SrpServerKeyExchangeMessage msg) { msg.setGenerator(msg.getComputations().getGenerator().getByteArray()); LOGGER.debug("Generator: " + ArrayConverter.bytesToHexString(msg.getGenerator().getValue())); }
private void prepareModulus(SrpServerKeyExchangeMessage msg) { msg.setModulus(msg.getComputations().getModulus().getByteArray()); LOGGER.debug("Modulus: " + ArrayConverter.bytesToHexString(msg.getModulus().getValue())); }
setSRPIdentity(msg); setSRPPassword(msg); BigInteger modulus = msg.getComputations().getModulus().getValue(); BigInteger generator = msg.getComputations().getGenerator().getValue(); BigInteger privateKey = msg.getComputations().getPrivateKey().getValue(); byte[] identity = msg.getComputations().getSRPIdentity().getValue(); byte[] password = msg.getComputations().getSRPPassword().getValue(); byte[] salt = msg.getComputations().getSalt().getValue();
private byte[] generateToBeSigned() { byte[] srpParams = ArrayConverter.concatenate(ArrayConverter.intToBytes(msg.getModulusLength().getValue(), HandshakeByteLength.SRP_MODULUS_LENGTH), msg.getModulus().getValue(), ArrayConverter.intToBytes(msg .getGeneratorLength().getValue(), HandshakeByteLength.SRP_GENERATOR_LENGTH), msg.getGenerator() .getValue(), ArrayConverter.intToBytes(msg.getSaltLength().getValue(), HandshakeByteLength.SRP_SALT_LENGTH), msg.getSalt().getValue(), ArrayConverter.intToBytes(msg .getPublicKeyLength().getValue(), HandshakeByteLength.SRP_PUBLICKEY_LENGTH), msg.getPublicKey() .getValue()); return ArrayConverter.concatenate(msg.getComputations().getClientServerRandom().getValue(), srpParams); }