de.rub.nds.tlsattacker.testtls.Main.java Source code

Java tutorial

Introduction

Here is the source code for de.rub.nds.tlsattacker.testtls.Main.java

Source

/**
 * 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.testtls;

import com.beust.jcommander.JCommander;
import de.rub.nds.tlsattacker.testtls.config.TestServerConfig;
import de.rub.nds.tlsattacker.testtls.impl.TestTLSServer;
import de.rub.nds.tlsattacker.tls.config.GeneralConfig;
import de.rub.nds.tlsattacker.tls.exceptions.ConfigurationException;
import java.security.Security;
import org.bouncycastle.jce.provider.BouncyCastleProvider;

/**
 *
 * @author Juraj Somorovsky <juraj.somorovsky@rub.de>
 */
public class Main {

    public static void main(String[] args) throws Exception {

        Security.addProvider(new BouncyCastleProvider());

        GeneralConfig generalConfig = new GeneralConfig();
        JCommander jc = new JCommander(generalConfig);

        TestServerConfig config = new TestServerConfig();
        jc.addCommand(TestServerConfig.COMMAND, config);

        jc.parse(args);

        if (generalConfig.isHelp() || jc.getParsedCommand() == null) {
            jc.usage();
            return;
        }

        switch (jc.getParsedCommand()) {
        case TestServerConfig.COMMAND:
            TestTLSServer st = new TestTLSServer(config, generalConfig);
            st.startTests();
            return;

        default:
            throw new ConfigurationException("No command found");
        }

    }
}