/**
* TLS-Attacker - A Modular Penetration Testing Framework for TLS
*
* Copyright 2014-2016 Ruhr University Bochum / Hackmanit GmbH
*
* Licensed under Apache License 2.0
* http://www.apache.org/licenses/LICENSE-2.0
*/
package de.rub.nds.tlsattacker.attacks.config;
import com.beust.jcommander.Parameter;
import de.rub.nds.tlsattacker.attacks.ec.ICEAttacker;
import de.rub.nds.tlsattacker.tls.config.ClientCommandConfig;
import de.rub.nds.tlsattacker.tls.constants.CipherSuite;
import de.rub.nds.tlsattacker.tls.constants.NamedCurve;
import de.rub.nds.tlsattacker.tls.workflow.WorkflowTraceType;
/**
*
* @author Juraj Somorovsky <juraj.somorovsky@rub.de>
*/
public class InvalidCurveAttackFullCommandConfig extends ClientCommandConfig {
public static final String ATTACK_COMMAND = "invalid_curve_full";
@Parameter(names = "-additional_equations", description = "Additional equations used when attacking Oracle JSSE server (needed because of a faulty JSSE implementation).")
protected int additionalEquations;
@Parameter(names = "-server_type", description = "Allows to switch between a normal vulnerable server type and an Oracle server type (for oracle a slightly different algorithm is needed).")
protected ICEAttacker.ServerType serverType;
public InvalidCurveAttackFullCommandConfig() {
cipherSuites.clear();
cipherSuites.add(CipherSuite.TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA);
cipherSuites.add(CipherSuite.TLS_ECDH_RSA_WITH_AES_128_CBC_SHA);
namedCurves.clear();
namedCurves.add(NamedCurve.SECP256R1);
workflowTraceType = WorkflowTraceType.HANDSHAKE;
additionalEquations = 3;
serverType = ICEAttacker.ServerType.NORMAL;
}
public int getAdditionalEquations() {
return additionalEquations;
}
public void setAdditionalEquations(int additionalEquations) {
this.additionalEquations = additionalEquations;
}
public ICEAttacker.ServerType getServerType() {
return serverType;
}
public void setServerType(ICEAttacker.ServerType serverType) {
this.serverType = serverType;
}
}