Skip to content

Commit 3da40b9

Browse files
authored
Merge pull request #209 from tls-attacker/configSelector
Added config selector
2 parents 16d8b7c + e0c3a48 commit 3da40b9

File tree

243 files changed

+30140
-2681
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

243 files changed

+30140
-2681
lines changed

TLS-Client-Scanner/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,12 @@
5252
<artifactId>TLS-Scanner-Core</artifactId>
5353
<version>${project.parent.version}</version>
5454
</dependency>
55+
<dependency>
56+
<groupId>de.rub.nds.tlsscanner</groupId>
57+
<artifactId>Scanner-Core</artifactId>
58+
<version>4.2.0-SNAPSHOT</version>
59+
<type>jar</type>
60+
</dependency>
5561
</dependencies>
5662
<properties>
5763
<maven.compiler.source>11</maven.compiler.source>

TLS-Client-Scanner/src/main/java/de/rub/nds/tlsscanner/clientscanner/probe/BasicProbe.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,11 @@
2929
import de.rub.nds.tlsscanner.clientscanner.probe.result.BasicProbeResult;
3030
import de.rub.nds.tlsscanner.clientscanner.report.ClientReport;
3131
import de.rub.nds.tlsscanner.core.constants.TlsProbeType;
32-
import de.rub.nds.tlsscanner.core.probe.TlsProbe;
3332
import java.util.LinkedList;
3433
import java.util.List;
3534
import java.util.Set;
3635

37-
public class BasicProbe extends TlsProbe<ClientScannerConfig, ClientReport, BasicProbeResult> {
36+
public class BasicProbe extends TlsClientProbe<ClientScannerConfig, ClientReport, BasicProbeResult> {
3837

3938
public BasicProbe(ParallelExecutor parallelExecutor, ClientScannerConfig scannerConfig) {
4039
super(parallelExecutor, TlsProbeType.BASIC, scannerConfig);

TLS-Client-Scanner/src/main/java/de/rub/nds/tlsscanner/clientscanner/probe/ClientRecordFragmentationProbe.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,17 @@
2424
import de.rub.nds.tlsscanner.clientscanner.probe.result.ClientRecordFragmentationResult;
2525
import de.rub.nds.tlsscanner.clientscanner.report.ClientReport;
2626
import de.rub.nds.tlsscanner.core.constants.TlsProbeType;
27-
import de.rub.nds.tlsscanner.core.probe.TlsProbe;
2827

2928
public class ClientRecordFragmentationProbe
30-
extends TlsProbe<ClientScannerConfig, ClientReport, ClientRecordFragmentationResult> {
29+
extends TlsClientProbe<ClientScannerConfig, ClientReport, ClientRecordFragmentationResult> {
3130

3231
public ClientRecordFragmentationProbe(ClientScannerConfig scannerConfig, ParallelExecutor parallelExecutor) {
3332
super(parallelExecutor, TlsProbeType.RECORD_FRAGMENTATION, scannerConfig);
3433
}
3534

3635
@Override
3736
public ClientRecordFragmentationResult executeTest() {
38-
Config config = getScannerConfig().createConfig();
37+
Config config = scannerConfig.createConfig();
3938
config.setDefaultMaxRecordData(50);
4039

4140
WorkflowConfigurationFactory factory = new WorkflowConfigurationFactory(config);

TLS-Client-Scanner/src/main/java/de/rub/nds/tlsscanner/clientscanner/probe/DheParameterProbe.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,14 @@
2828
import de.rub.nds.tlsscanner.clientscanner.report.ClientReport;
2929
import de.rub.nds.tlsscanner.core.constants.TlsAnalyzedProperty;
3030
import de.rub.nds.tlsscanner.core.constants.TlsProbeType;
31-
import de.rub.nds.tlsscanner.core.probe.TlsProbe;
3231
import java.math.BigInteger;
3332
import java.util.LinkedList;
3433
import java.util.List;
3534
import java.util.Random;
3635
import org.apache.logging.log4j.LogManager;
3736
import org.apache.logging.log4j.Logger;
3837

39-
public class DheParameterProbe extends TlsProbe<ClientScannerConfig, ClientReport, DheParameterResult> {
38+
public class DheParameterProbe extends TlsClientProbe<ClientScannerConfig, ClientReport, DheParameterResult> {
4039

4140
private static final Logger LOGGER = LogManager.getLogger();
4241

TLS-Client-Scanner/src/main/java/de/rub/nds/tlsscanner/clientscanner/probe/ForcedCompressionProbe.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,16 @@
2525
import de.rub.nds.tlsscanner.clientscanner.probe.result.ForcedCompressionResult;
2626
import de.rub.nds.tlsscanner.clientscanner.report.ClientReport;
2727
import de.rub.nds.tlsscanner.core.constants.TlsProbeType;
28-
import de.rub.nds.tlsscanner.core.probe.TlsProbe;
2928

30-
public class ForcedCompressionProbe extends TlsProbe<ClientScannerConfig, ClientReport, ForcedCompressionResult> {
29+
public class ForcedCompressionProbe extends TlsClientProbe<ClientScannerConfig, ClientReport, ForcedCompressionResult> {
3130

3231
public ForcedCompressionProbe(ParallelExecutor executor, ClientScannerConfig scannerConfig) {
3332
super(executor, TlsProbeType.FORCED_COMPRESSION, scannerConfig);
3433
}
3534

3635
@Override
3736
public ForcedCompressionResult executeTest() {
38-
Config config = getScannerConfig().createConfig();
37+
Config config = scannerConfig.createConfig();
3938
config.setEnforceSettings(true);
4039
config.setDefaultServerSupportedCompressionMethods(CompressionMethod.DEFLATE, CompressionMethod.LZS);
4140
config.setDefaultSelectedCompressionMethod(CompressionMethod.DEFLATE);

TLS-Client-Scanner/src/main/java/de/rub/nds/tlsscanner/clientscanner/probe/FreakProbe.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
import de.rub.nds.tlsscanner.clientscanner.report.ClientReport;
3838
import de.rub.nds.tlsscanner.core.constants.TlsAnalyzedProperty;
3939
import de.rub.nds.tlsscanner.core.constants.TlsProbeType;
40-
import de.rub.nds.tlsscanner.core.probe.TlsProbe;
4140
import de.rub.nds.tlsscanner.core.probe.result.VersionSuiteListPair;
4241
import java.math.BigInteger;
4342
import java.util.LinkedList;
@@ -47,7 +46,7 @@
4746
import org.apache.logging.log4j.Logger;
4847

4948
// see https://www.smacktls.com/smack.pdf section V-D
50-
public class FreakProbe extends TlsProbe<ClientScannerConfig, ClientReport, FreakResult> {
49+
public class FreakProbe extends TlsClientProbe<ClientScannerConfig, ClientReport, FreakResult> {
5150

5251
private static final Logger LOGGER = LogManager.getLogger();
5352

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/**
2+
* TLS-Client-Scanner - A TLS configuration and analysis tool based on TLS-Attacker
3+
*
4+
* Copyright 2017-2022 Ruhr University Bochum, Paderborn University, Hackmanit GmbH
5+
*
6+
* Licensed under Apache License, Version 2.0
7+
* http://www.apache.org/licenses/LICENSE-2.0.txt
8+
*/
9+
10+
package de.rub.nds.tlsscanner.clientscanner.probe;
11+
12+
import de.rub.nds.scanner.core.probe.result.ProbeResult;
13+
import de.rub.nds.scanner.core.report.ScanReport;
14+
import de.rub.nds.tlsattacker.core.workflow.ParallelExecutor;
15+
import de.rub.nds.tlsscanner.core.constants.TlsProbeType;
16+
import de.rub.nds.tlsscanner.core.probe.TlsProbe;
17+
import org.apache.logging.log4j.LogManager;
18+
import org.apache.logging.log4j.Logger;
19+
20+
public abstract class TlsClientProbe<ClientScannerConfig, Report extends ScanReport, Result extends ProbeResult<Report>>
21+
extends TlsProbe<Report, Result> {
22+
23+
protected static final Logger LOGGER = LogManager.getLogger();
24+
25+
protected final ClientScannerConfig scannerConfig;
26+
27+
protected TlsClientProbe(ParallelExecutor parallelExecutor, TlsProbeType type, ClientScannerConfig scannerConfig) {
28+
super(parallelExecutor, type);
29+
this.scannerConfig = scannerConfig;
30+
}
31+
}

TLS-Client-Scanner/src/main/java/de/rub/nds/tlsscanner/clientscanner/probe/Version13RandomProbe.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,11 @@
2323
import de.rub.nds.tlsscanner.clientscanner.probe.result.Version13RandomResult;
2424
import de.rub.nds.tlsscanner.clientscanner.report.ClientReport;
2525
import de.rub.nds.tlsscanner.core.constants.TlsProbeType;
26-
import de.rub.nds.tlsscanner.core.probe.TlsProbe;
2726
import java.util.Random;
2827
import org.apache.logging.log4j.LogManager;
2928
import org.apache.logging.log4j.Logger;
3029

31-
public class Version13RandomProbe extends TlsProbe<ClientScannerConfig, ClientReport, Version13RandomResult> {
30+
public class Version13RandomProbe extends TlsClientProbe<ClientScannerConfig, ClientReport, Version13RandomResult> {
3231

3332
private static final Logger LOGGER = LogManager.getLogger();
3433

@@ -54,7 +53,7 @@ public Version13RandomResult executeTest() {
5453
}
5554

5655
private boolean testIfDownGradeEnforcedProtocolVersion(ProtocolVersion version) {
57-
Config config = getScannerConfig().createConfig();
56+
Config config = scannerConfig.createConfig();
5857
config.setHighestProtocolVersion(version);
5958
config.setDefaultSelectedProtocolVersion(version);
6059

TLS-Client-Scanner/src/main/java/de/rub/nds/tlsscanner/clientscanner/probe/VersionProbe.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,13 @@
2222
import de.rub.nds.tlsscanner.clientscanner.probe.result.VersionResult;
2323
import de.rub.nds.tlsscanner.clientscanner.report.ClientReport;
2424
import de.rub.nds.tlsscanner.core.constants.TlsProbeType;
25-
import de.rub.nds.tlsscanner.core.probe.TlsProbe;
2625
import java.util.LinkedList;
2726
import java.util.List;
2827
import java.util.stream.Collectors;
2928
import org.apache.logging.log4j.LogManager;
3029
import org.apache.logging.log4j.Logger;
3130

32-
public class VersionProbe extends TlsProbe<ClientScannerConfig, ClientReport, VersionResult> {
31+
public class VersionProbe extends TlsClientProbe<ClientScannerConfig, ClientReport, VersionResult> {
3332

3433
private static final Logger LOGGER = LogManager.getLogger();
3534

@@ -40,7 +39,7 @@ public VersionProbe(ParallelExecutor executor, ClientScannerConfig scannerConfig
4039
}
4140

4241
protected Config getTls13Config() {
43-
Config config = getScannerConfig().createConfig();
42+
Config config = scannerConfig.createConfig();
4443
// no need to set CipherSuites; this is done in executeTest
4544
config.setAddECPointFormatExtension(false);
4645
config.setAddEllipticCurveExtension(true);
@@ -63,7 +62,7 @@ public VersionResult executeTest() {
6362
if (version.isTLS13()) {
6463
config = getTls13Config();
6564
} else {
66-
config = getScannerConfig().createConfig();
65+
config = scannerConfig.createConfig();
6766
}
6867
List<CipherSuite> suitableCiphersuites = clientAdvertisedCipherSuites.stream()
6968
.filter(suite -> suite.isSupportedInProtocol(version)).collect(Collectors.toList());

TLS-Scanner-Core/src/main/java/de/rub/nds/tlsscanner/core/probe/TlsProbe.java

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
package de.rub.nds.tlsscanner.core.probe;
1111

12-
import de.rub.nds.scanner.core.config.ScannerConfig;
1312
import de.rub.nds.scanner.core.probe.ScannerProbe;
1413
import de.rub.nds.scanner.core.probe.result.ProbeResult;
1514
import de.rub.nds.scanner.core.report.ScanReport;
@@ -22,25 +21,18 @@
2221
import org.apache.logging.log4j.LogManager;
2322
import org.apache.logging.log4j.Logger;
2423

25-
public abstract class TlsProbe<ScanConfig extends ScannerConfig, Report extends ScanReport,
26-
Result extends ProbeResult<Report>> extends ScannerProbe<Report, Result> {
24+
public abstract class TlsProbe<Report extends ScanReport, Result extends ProbeResult<Report>>
25+
extends ScannerProbe<Report, Result> {
2726

2827
protected static final Logger LOGGER = LogManager.getLogger();
2928

30-
protected final ScanConfig scannerConfig;
31-
3229
private final ParallelExecutor parallelExecutor;
3330

34-
protected TlsProbe(ParallelExecutor parallelExecutor, TlsProbeType type, ScanConfig scannerConfig) {
31+
protected TlsProbe(ParallelExecutor parallelExecutor, TlsProbeType type) {
3532
super(type);
36-
this.scannerConfig = scannerConfig;
3733
this.parallelExecutor = parallelExecutor;
3834
}
3935

40-
public final ScanConfig getScannerConfig() {
41-
return scannerConfig;
42-
}
43-
4436
public final void executeState(State... states) {
4537
this.executeState(new ArrayList<>(Arrays.asList(states)));
4638

@@ -60,4 +52,4 @@ public final void executeState(List<State> states) {
6052
public ParallelExecutor getParallelExecutor() {
6153
return parallelExecutor;
6254
}
63-
}
55+
}

0 commit comments

Comments
 (0)