All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.rub.nds.tlsattacker.attacks.util.response.EqualityErrorTranslator Maven / Gradle / Ivy

/**
 * TLS-Attacker - A Modular Penetration Testing Framework for TLS
 *
 * Copyright 2014-2021 Ruhr University Bochum, Paderborn University, Hackmanit GmbH
 *
 * Licensed under Apache License, Version 2.0
 * http://www.apache.org/licenses/LICENSE-2.0.txt
 */

package de.rub.nds.tlsattacker.attacks.util.response;

/**
 *
 *
 */
public class EqualityErrorTranslator {

    /**
     *
     * @param  error
     * @param  fingerprint1
     * @param  fingerprint2
     * @return
     */
    public static String translation(EqualityError error, ResponseFingerprint fingerprint1,
        ResponseFingerprint fingerprint2) {
        StringBuilder builder = new StringBuilder();
        switch (error) {
            case MESSAGE_CLASS:
                builder.append("The server responds with different protocol messages.");
                break;
            case MESSAGE_COUNT:
                builder.append("The server responds with a different number of protocol messages.");
                break;
            case NONE:
                builder.append(
                    "The server shows no behaviour difference on the protocol / socket layer. The Server seems to be fine.");
                break;
            case RECORD_CLASS:
                builder.append(
                    "The server sometimes responds with something which cannot be interpreted as TLS but sometimes he does.");
                break;
            case RECORD_CONTENT_TYPE:
                builder.append("The server responds with records which differentiate on the record content type.");
                break;
            case RECORD_COUNT:
                builder.append("The server responds with different amounts of records.");
                break;
            case RECORD_LENGTH:
                builder.append("The server seems to respond with records of different lengths.");
                break;
            case RECORD_VERSION:
                builder.append("The server seems to respond with records which have different protocol versions.");
                break;
            case SOCKET_STATE:
                builder.append("The server seems to occasionally move the TCP socket in different states.");
                break;
            case MESSAGE_CONTENT:
                builder.append("The server responded with different message contents");
                break;
            case RECORD_CONTENT:
                builder.append("The server responded with different record contents.");
                break;
            default:
                builder.append(error.toString());
        }
        return builder.toString();
    }

    private EqualityErrorTranslator() {
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy