/**
* 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.tls.protocol.extension;
import java.util.List;
import de.rub.nds.tlsattacker.modifiablevariable.ModifiableVariableFactory;
import de.rub.nds.tlsattacker.modifiablevariable.ModifiableVariableProperty;
import de.rub.nds.tlsattacker.modifiablevariable.bytearray.ModifiableByteArray;
import de.rub.nds.tlsattacker.modifiablevariable.integer.ModifiableInteger;
import de.rub.nds.tlsattacker.tls.constants.ExtensionType;
import de.rub.nds.tlsattacker.tls.constants.NamedCurve;
/**
* @author Juraj Somorovsky <juraj.somorovsky@rub.de>
*/
public class EllipticCurvesExtensionMessage extends ExtensionMessage {
private List<NamedCurve> supportedCurvesConfig;
@ModifiableVariableProperty(type = ModifiableVariableProperty.Type.LENGTH)
ModifiableInteger supportedCurvesLength;
@ModifiableVariableProperty(type = ModifiableVariableProperty.Type.TLS_CONSTANT)
ModifiableByteArray supportedCurves;
public EllipticCurvesExtensionMessage() {
this.extensionTypeConstant = ExtensionType.ELLIPTIC_CURVES;
}
public ModifiableInteger getSupportedCurvesLength() {
return supportedCurvesLength;
}
public void setSupportedCurvesLength(int length) {
this.supportedCurvesLength = ModifiableVariableFactory.safelySetValue(supportedCurvesLength, length);
}
public ModifiableByteArray getSupportedCurves() {
return supportedCurves;
}
public void setSupportedCurves(byte[] array) {
supportedCurves = ModifiableVariableFactory.safelySetValue(supportedCurves, array);
}
public void setSupportedCurvesLength(ModifiableInteger supportedCurvesLength) {
this.supportedCurvesLength = supportedCurvesLength;
}
public void setSupportedCurves(ModifiableByteArray supportedCurves) {
this.supportedCurves = supportedCurves;
}
@Override
public ExtensionHandler<? extends ExtensionMessage> getExtensionHandler() {
return EllipticCurvesExtensionHandler.getInstance();
}
public List<NamedCurve> getSupportedCurvesConfig() {
return supportedCurvesConfig;
}
public void setSupportedCurvesConfig(List<NamedCurve> supportedCurvesConfig) {
this.supportedCurvesConfig = supportedCurvesConfig;
}
}