Skip to content

Commit 108c27d

Browse files
Merge branch 'master' into travis-mvnw
2 parents 736ed47 + b861a45 commit 108c27d

File tree

47 files changed

+1146
-50
lines changed

Some content is hidden

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

47 files changed

+1146
-50
lines changed

ModifiableVariable/src/main/java/de/rub/nds/tlsattacker/modifiablevariable/ModifiableVariableFactory.java

Lines changed: 38 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
*
44
* Copyright 2014-2016 Ruhr University Bochum / Hackmanit GmbH
55
*
6-
* Licensed under Apache License 2.0
7-
* http://www.apache.org/licenses/LICENSE-2.0
6+
* Licensed under Apache License 2.0 http://www.apache.org/licenses/LICENSE-2.0
87
*/
98
package de.rub.nds.tlsattacker.modifiablevariable;
109

1110
import de.rub.nds.tlsattacker.modifiablevariable.biginteger.ModifiableBigInteger;
1211
import de.rub.nds.tlsattacker.modifiablevariable.bytearray.ModifiableByteArray;
1312
import de.rub.nds.tlsattacker.modifiablevariable.integer.ModifiableInteger;
1413
import de.rub.nds.tlsattacker.modifiablevariable.singlebyte.ModifiableByte;
14+
import de.rub.nds.tlsattacker.modifiablevariable.mlong.ModifiableLong;
1515
import java.math.BigInteger;
1616

1717
/**
@@ -24,50 +24,62 @@ private ModifiableVariableFactory() {
2424
}
2525

2626
public static ModifiableBigInteger createBigIntegerModifiableVariable() {
27-
return new ModifiableBigInteger();
27+
return new ModifiableBigInteger();
2828
}
2929

3030
public static ModifiableInteger createIntegerModifiableVariable() {
31-
return new ModifiableInteger();
31+
return new ModifiableInteger();
3232
}
3333

3434
public static ModifiableByte createByteModifiableVariable() {
35-
return new ModifiableByte();
35+
return new ModifiableByte();
3636
}
3737

3838
public static ModifiableByteArray createByteArrayModifiableVariable() {
39-
return new ModifiableByteArray();
39+
return new ModifiableByteArray();
40+
}
41+
42+
public static ModifiableLong createLongModifiableVariable() {
43+
return new ModifiableLong();
4044
}
4145

4246
public static ModifiableBigInteger safelySetValue(ModifiableBigInteger mv, BigInteger value) {
43-
if (mv == null) {
44-
mv = new ModifiableBigInteger();
45-
}
46-
mv.setOriginalValue(value);
47-
return mv;
47+
if (mv == null) {
48+
mv = new ModifiableBigInteger();
49+
}
50+
mv.setOriginalValue(value);
51+
return mv;
4852
}
4953

5054
public static ModifiableInteger safelySetValue(ModifiableInteger mv, Integer value) {
51-
if (mv == null) {
52-
mv = new ModifiableInteger();
53-
}
54-
mv.setOriginalValue(value);
55-
return mv;
55+
if (mv == null) {
56+
mv = new ModifiableInteger();
57+
}
58+
mv.setOriginalValue(value);
59+
return mv;
5660
}
5761

5862
public static ModifiableByte safelySetValue(ModifiableByte mv, Byte value) {
59-
if (mv == null) {
60-
mv = new ModifiableByte();
61-
}
62-
mv.setOriginalValue(value);
63-
return mv;
63+
if (mv == null) {
64+
mv = new ModifiableByte();
65+
}
66+
mv.setOriginalValue(value);
67+
return mv;
6468
}
6569

6670
public static ModifiableByteArray safelySetValue(ModifiableByteArray mv, byte[] value) {
67-
if (mv == null) {
68-
mv = new ModifiableByteArray();
69-
}
70-
mv.setOriginalValue(value);
71-
return mv;
71+
if (mv == null) {
72+
mv = new ModifiableByteArray();
73+
}
74+
mv.setOriginalValue(value);
75+
return mv;
76+
}
77+
78+
public static ModifiableLong safelySetValue(ModifiableLong mv, Long value) {
79+
if (mv == null) {
80+
mv = new ModifiableLong();
81+
}
82+
mv.setOriginalValue(value);
83+
return mv;
7284
}
7385
}

ModifiableVariable/src/test/java/de/rub/nds/tlsattacker/modifiablevariable/ModifiableVariableTest.java

Lines changed: 37 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@
33
*
44
* Copyright 2014-2016 Ruhr University Bochum / Hackmanit GmbH
55
*
6-
* Licensed under Apache License 2.0
7-
* http://www.apache.org/licenses/LICENSE-2.0
6+
* Licensed under Apache License 2.0 http://www.apache.org/licenses/LICENSE-2.0
87
*/
98
package de.rub.nds.tlsattacker.modifiablevariable;
109

1110
import de.rub.nds.tlsattacker.modifiablevariable.biginteger.ModifiableBigInteger;
1211
import de.rub.nds.tlsattacker.modifiablevariable.bytearray.ModifiableByteArray;
1312
import de.rub.nds.tlsattacker.modifiablevariable.integer.ModifiableInteger;
13+
import de.rub.nds.tlsattacker.modifiablevariable.singlebyte.ModifiableByte;
14+
import de.rub.nds.tlsattacker.modifiablevariable.mlong.ModifiableLong;
1415
import de.rub.nds.tlsattacker.util.ArrayConverter;
1516
import java.math.BigInteger;
1617
import org.apache.logging.log4j.LogManager;
@@ -22,33 +23,51 @@
2223
* @author Juraj Somorovsky <juraj.somorovsky@rub.de>
2324
*/
2425
public class ModifiableVariableTest {
25-
26+
2627
private static final Logger LOGGER = LogManager.getLogger(ModifiableVariableTest.class);
2728

2829
@Test
2930
public void testRandomBigIntegerModification() {
30-
ModifiableBigInteger bigInteger = ModifiableVariableFactory.createBigIntegerModifiableVariable();
31-
bigInteger.setOriginalValue(BigInteger.ZERO);
32-
bigInteger.createRandomModificationAtRuntime();
33-
LOGGER.info("Randomly modified big integer: " + bigInteger.getValue());
34-
assertNotNull(bigInteger.getModification());
31+
ModifiableBigInteger bigInteger = ModifiableVariableFactory.createBigIntegerModifiableVariable();
32+
bigInteger.setOriginalValue(BigInteger.ZERO);
33+
bigInteger.createRandomModificationAtRuntime();
34+
LOGGER.info("Randomly modified big integer: " + bigInteger.getValue());
35+
assertNotNull(bigInteger.getModification());
3536
}
3637

3738
@Test
3839
public void testRandomIntegerModification() {
39-
ModifiableInteger integer = ModifiableVariableFactory.createIntegerModifiableVariable();
40-
integer.setOriginalValue(0);
41-
integer.createRandomModificationAtRuntime();
42-
LOGGER.info("Randomly modified integer: " + integer.getValue());
43-
assertNotNull(integer.getModification());
40+
ModifiableInteger integer = ModifiableVariableFactory.createIntegerModifiableVariable();
41+
integer.setOriginalValue(0);
42+
integer.createRandomModificationAtRuntime();
43+
LOGGER.info("Randomly modified integer: " + integer.getValue());
44+
assertNotNull(integer.getModification());
4445
}
4546

4647
@Test
4748
public void testRandomByteArrayModification() throws Exception {
48-
ModifiableByteArray array = ModifiableVariableFactory.createByteArrayModifiableVariable();
49-
array.setOriginalValue(new byte[] { 0, 1, 2 });
50-
array.createRandomModificationAtRuntime();
51-
LOGGER.info("Randomly modified byte array: " + ArrayConverter.bytesToHexString(array.getValue()));
52-
assertNotNull(array.getModification());
49+
ModifiableByteArray array = ModifiableVariableFactory.createByteArrayModifiableVariable();
50+
array.setOriginalValue(new byte[]{0, 1, 2});
51+
array.createRandomModificationAtRuntime();
52+
LOGGER.info("Randomly modified byte array: " + ArrayConverter.bytesToHexString(array.getValue()));
53+
assertNotNull(array.getModification());
54+
}
55+
56+
@Test
57+
public void testRandomSingleByteModification() throws Exception {
58+
ModifiableByte singleByte = ModifiableVariableFactory.createByteModifiableVariable();
59+
singleByte.setOriginalValue((byte) 0);
60+
singleByte.createRandomModificationAtRuntime();
61+
LOGGER.info("Randomly modified byte: " + ArrayConverter.bytesToHexString(new byte[]{singleByte.getValue()}));
62+
assertNotNull(singleByte.getModification());
63+
}
64+
65+
@Test
66+
public void testRandomLongModification() throws Exception {
67+
ModifiableLong modLong = ModifiableVariableFactory.createLongModifiableVariable();
68+
modLong.setOriginalValue(new Long(0));
69+
modLong.createRandomModificationAtRuntime();
70+
LOGGER.info("Randomly modified Long: " + modLong.getValue());
71+
assertNotNull(modLong.getModification());
5372
}
5473
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
If TLS_DHE_DSS_WITH_AES_128_CBC_SHA is supported, it should be accepted with TLS10, TLS11 and TLS12
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2+
<workflowTrace>
3+
<protocolVersion>TLS10</protocolVersion>
4+
<protocolMessages>
5+
<ClientHello>
6+
<messageIssuer>CLIENT</messageIssuer>
7+
<supportedCompressionMethods>
8+
<CompressionMethod>NULL</CompressionMethod>
9+
</supportedCompressionMethods>
10+
<supportedCipherSuites>
11+
<CipherSuite>TLS_DHE_DSS_WITH_AES_128_CBC_SHA</CipherSuite>
12+
</supportedCipherSuites>
13+
</ClientHello>
14+
<ServerHello>
15+
<messageIssuer>SERVER</messageIssuer>
16+
</ServerHello>
17+
<Certificate>
18+
<messageIssuer>SERVER</messageIssuer>
19+
</Certificate>
20+
<DHEServerKeyExchange>
21+
<messageIssuer>SERVER</messageIssuer>
22+
</DHEServerKeyExchange>
23+
<ServerHelloDone>
24+
<messageIssuer>SERVER</messageIssuer>
25+
</ServerHelloDone>
26+
<DHClientKeyExchange>
27+
<messageIssuer>CLIENT</messageIssuer>
28+
</DHClientKeyExchange>
29+
<ChangeCipherSpec>
30+
<messageIssuer>CLIENT</messageIssuer>
31+
</ChangeCipherSpec>
32+
<Finished>
33+
<messageIssuer>CLIENT</messageIssuer>
34+
</Finished>
35+
<ChangeCipherSpec>
36+
<messageIssuer>SERVER</messageIssuer>
37+
</ChangeCipherSpec>
38+
<Finished>
39+
<messageIssuer>SERVER</messageIssuer>
40+
</Finished>
41+
</protocolMessages>
42+
</workflowTrace>
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2+
<workflowTrace>
3+
<protocolVersion>TLS11</protocolVersion>
4+
<protocolMessages>
5+
<ClientHello>
6+
<messageIssuer>CLIENT</messageIssuer>
7+
<supportedCompressionMethods>
8+
<CompressionMethod>NULL</CompressionMethod>
9+
</supportedCompressionMethods>
10+
<supportedCipherSuites>
11+
<CipherSuite>TLS_DHE_DSS_WITH_AES_128_CBC_SHA</CipherSuite>
12+
</supportedCipherSuites>
13+
</ClientHello>
14+
<ServerHello>
15+
<messageIssuer>SERVER</messageIssuer>
16+
</ServerHello>
17+
<Certificate>
18+
<messageIssuer>SERVER</messageIssuer>
19+
</Certificate>
20+
<DHEServerKeyExchange>
21+
<messageIssuer>SERVER</messageIssuer>
22+
</DHEServerKeyExchange>
23+
<ServerHelloDone>
24+
<messageIssuer>SERVER</messageIssuer>
25+
</ServerHelloDone>
26+
<DHClientKeyExchange>
27+
<messageIssuer>CLIENT</messageIssuer>
28+
</DHClientKeyExchange>
29+
<ChangeCipherSpec>
30+
<messageIssuer>CLIENT</messageIssuer>
31+
</ChangeCipherSpec>
32+
<Finished>
33+
<messageIssuer>CLIENT</messageIssuer>
34+
</Finished>
35+
<ChangeCipherSpec>
36+
<messageIssuer>SERVER</messageIssuer>
37+
</ChangeCipherSpec>
38+
<Finished>
39+
<messageIssuer>SERVER</messageIssuer>
40+
</Finished>
41+
</protocolMessages>
42+
</workflowTrace>
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2+
<workflowTrace>
3+
<protocolVersion>TLS12</protocolVersion>
4+
<protocolMessages>
5+
<ClientHello>
6+
<messageIssuer>CLIENT</messageIssuer>
7+
<supportedCompressionMethods>
8+
<CompressionMethod>NULL</CompressionMethod>
9+
</supportedCompressionMethods>
10+
<supportedCipherSuites>
11+
<CipherSuite>TLS_DHE_DSS_WITH_AES_128_CBC_SHA</CipherSuite>
12+
</supportedCipherSuites>
13+
</ClientHello>
14+
<ServerHello>
15+
<messageIssuer>SERVER</messageIssuer>
16+
</ServerHello>
17+
<Certificate>
18+
<messageIssuer>SERVER</messageIssuer>
19+
</Certificate>
20+
<DHEServerKeyExchange>
21+
<messageIssuer>SERVER</messageIssuer>
22+
</DHEServerKeyExchange>
23+
<ServerHelloDone>
24+
<messageIssuer>SERVER</messageIssuer>
25+
</ServerHelloDone>
26+
<DHClientKeyExchange>
27+
<messageIssuer>CLIENT</messageIssuer>
28+
</DHClientKeyExchange>
29+
<ChangeCipherSpec>
30+
<messageIssuer>CLIENT</messageIssuer>
31+
</ChangeCipherSpec>
32+
<Finished>
33+
<messageIssuer>CLIENT</messageIssuer>
34+
</Finished>
35+
<ChangeCipherSpec>
36+
<messageIssuer>SERVER</messageIssuer>
37+
</ChangeCipherSpec>
38+
<Finished>
39+
<messageIssuer>SERVER</messageIssuer>
40+
</Finished>
41+
</protocolMessages>
42+
</workflowTrace>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2+
<workflowTrace>
3+
<protocolVersion>TLS10</protocolVersion>
4+
<protocolMessages>
5+
<ClientHello>
6+
<messageIssuer>CLIENT</messageIssuer>
7+
<supportedCompressionMethods>
8+
<CompressionMethod>NULL</CompressionMethod>
9+
</supportedCompressionMethods>
10+
<supportedCipherSuites>
11+
<CipherSuite>TLS_DHE_DSS_WITH_AES_128_CBC_SHA</CipherSuite>
12+
</supportedCipherSuites>
13+
</ClientHello>
14+
<Alert>
15+
<messageIssuer>SERVER</messageIssuer>
16+
</Alert>
17+
</protocolMessages>
18+
</workflowTrace>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2+
<workflowTrace>
3+
<protocolVersion>TLS11</protocolVersion>
4+
<protocolMessages>
5+
<ClientHello>
6+
<messageIssuer>CLIENT</messageIssuer>
7+
<supportedCompressionMethods>
8+
<CompressionMethod>NULL</CompressionMethod>
9+
</supportedCompressionMethods>
10+
<supportedCipherSuites>
11+
<CipherSuite>TLS_DHE_DSS_WITH_AES_128_CBC_SHA</CipherSuite>
12+
</supportedCipherSuites>
13+
</ClientHello>
14+
<Alert>
15+
<messageIssuer>SERVER</messageIssuer>
16+
</Alert>
17+
</protocolMessages>
18+
</workflowTrace>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2+
<workflowTrace>
3+
<protocolVersion>TLS12</protocolVersion>
4+
<protocolMessages>
5+
<ClientHello>
6+
<messageIssuer>CLIENT</messageIssuer>
7+
<supportedCompressionMethods>
8+
<CompressionMethod>NULL</CompressionMethod>
9+
</supportedCompressionMethods>
10+
<supportedCipherSuites>
11+
<CipherSuite>TLS_DHE_DSS_WITH_AES_128_CBC_SHA</CipherSuite>
12+
</supportedCipherSuites>
13+
</ClientHello>
14+
<Alert>
15+
<messageIssuer>SERVER</messageIssuer>
16+
</Alert>
17+
</protocolMessages>
18+
</workflowTrace>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
If TLS_DHE_DSS_WITH_AES_256_CBC_SHA is supported, it should be accepted with TLS10, TLS11 and TLS12

0 commit comments

Comments
 (0)