/**
* 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.alert;
import de.rub.nds.tlsattacker.tls.protocol.ProtocolMessageHandler;
import de.rub.nds.tlsattacker.tls.workflow.TlsContext;
/**
* @author Juraj Somorovsky <juraj.somorovsky@rub.de>
*/
public class AlertHandler extends ProtocolMessageHandler<AlertMessage> {
public AlertHandler(TlsContext tlsContext) {
super(tlsContext);
this.correctProtocolMessageClass = AlertMessage.class;
}
@Override
public byte[] prepareMessageAction() {
protocolMessage.setLevel(protocolMessage.getConfig()[0]);
protocolMessage.setDescription(protocolMessage.getConfig()[1]);
byte[] result = { protocolMessage.getLevel().getValue(), protocolMessage.getDescription().getValue() };
protocolMessage.setCompleteResultingMessage(result);
return result;
}
@Override
public int parseMessageAction(byte[] message, int pointer) {
protocolMessage.setLevel(message[pointer]);
protocolMessage.setDescription(message[pointer + 1]);
return (pointer + 2);
}
}