1+ /**
2+ * TLS-Attacker - A Modular Penetration Testing Framework for TLS
3+ *
4+ * Copyright 2014-2017 Ruhr University Bochum / Hackmanit GmbH
5+ *
6+ * Licensed under Apache License 2.0
7+ * http://www.apache.org/licenses/LICENSE-2.0
8+ */
19package de .rub .nds .tlsattacker .core .protocol .serializer ;
210
311import static org .junit .Assert .*;
1927@ RunWith (Parameterized .class )
2028public class SSL2ClientMasterKeySerializerTest {
2129
22- private final ProtocolVersion version = ProtocolVersion .SSL2 ;
23- private SSL2ClientMasterKeyMessage message ;
24- private byte [] expectedClientMasterKeyMessage ;
25-
30+ private final ProtocolVersion version = ProtocolVersion .SSL2 ;
31+ private SSL2ClientMasterKeyMessage message ;
32+ private byte [] expectedClientMasterKeyMessage ;
33+
2634 @ Parameterized .Parameters
2735 public static Collection <Object []> generateData () {
28- byte [] expectedClientMasterKeyMessage = ArrayConverter .hexStringToByteArray (
29- "808a02010080000000800000b28367d5b44f6f585096540ab798705ecb6ce66336d5068952db71542701870754fdc25da8414d0977ec0401b5ff4cc853779d6069be867bf65a2250d14a189d74c608f4f76a9aa8a4f1a909370b86f5fd0740d368083e78e1034e38573b32799cf59ea52a771633ffdbd0e8123ada764f677cd09b05106ea9af8168a71249d4"
30- );
31- byte [] encryptedKey = ArrayConverter .hexStringToByteArray (
32- "b28367d5b44f6f585096540ab798705ecb6ce66336d5068952db71542701870754fdc25da8414d0977ec0401b5ff4cc853779d6069be867bf65a2250d14a189d74c608f4f76a9aa8a4f1a909370b86f5fd0740d368083e78e1034e38573b32799cf59ea52a771633ffdbd0e8123ada764f677cd09b05106ea9af8168a71249d4"
33- );
34- byte [] cipher = BigInteger .valueOf (SSL2CipherSuite .SSL_CK_RC4_128_WITH_MD5 .getValue ()).toByteArray ();
35-
36- return Arrays .asList (new Object [][] {{
37- 138 ,
38- HandshakeMessageType .SSL2_CLIENT_MASTER_KEY .getValue (),
39- cipher ,
40- 0 ,
41- 128 ,
42- 0 ,
43- new byte [0 ],
44- encryptedKey ,
45- expectedClientMasterKeyMessage
46- }});
36+ byte [] expectedClientMasterKeyMessage = ArrayConverter
37+ .hexStringToByteArray ("808a02010080000000800000b28367d5b44f6f585096540ab798705ecb6ce66336d5068952db71542701870754fdc25da8414d0977ec0401b5ff4cc853779d6069be867bf65a2250d14a189d74c608f4f76a9aa8a4f1a909370b86f5fd0740d368083e78e1034e38573b32799cf59ea52a771633ffdbd0e8123ada764f677cd09b05106ea9af8168a71249d4" );
38+ byte [] encryptedKey = ArrayConverter
39+ .hexStringToByteArray ("b28367d5b44f6f585096540ab798705ecb6ce66336d5068952db71542701870754fdc25da8414d0977ec0401b5ff4cc853779d6069be867bf65a2250d14a189d74c608f4f76a9aa8a4f1a909370b86f5fd0740d368083e78e1034e38573b32799cf59ea52a771633ffdbd0e8123ada764f677cd09b05106ea9af8168a71249d4" );
40+ byte [] cipher = BigInteger .valueOf (SSL2CipherSuite .SSL_CK_RC4_128_WITH_MD5 .getValue ()).toByteArray ();
41+
42+ return Arrays .asList (new Object [][] { { 138 , HandshakeMessageType .SSL2_CLIENT_MASTER_KEY .getValue (), cipher , 0 ,
43+ 128 , 0 , new byte [0 ], encryptedKey , expectedClientMasterKeyMessage } });
4744 }
48-
45+
4946 public SSL2ClientMasterKeySerializerTest (int messageLength , byte messageType , byte [] cipher , int clearKeyLength ,
50- int encryptedKeyLength , int keyArgLength , byte [] clearKeyData ,byte [] encryptedKey , byte [] expectedClientMasterKeyMessage ) {
51- this .expectedClientMasterKeyMessage = expectedClientMasterKeyMessage ;
52- this .message = new SSL2ClientMasterKeyMessage ();
53- this .message .setMessageLength (messageLength );
54- this .message .setType (messageType );
55- this .message .setCipherKind (cipher );
56- this .message .setClearKeyLength (clearKeyLength );
57- this .message .setEncryptedKeyLength (encryptedKeyLength );
58- this .message .setKeyArgLength (keyArgLength );
59- this .message .setClearKeyData (clearKeyData );
60- this .message .setEncryptedKeyData (encryptedKey );
47+ int encryptedKeyLength , int keyArgLength , byte [] clearKeyData , byte [] encryptedKey ,
48+ byte [] expectedClientMasterKeyMessage ) {
49+ this .expectedClientMasterKeyMessage = expectedClientMasterKeyMessage ;
50+ this .message = new SSL2ClientMasterKeyMessage ();
51+ this .message .setMessageLength (messageLength );
52+ this .message .setType (messageType );
53+ this .message .setCipherKind (cipher );
54+ this .message .setClearKeyLength (clearKeyLength );
55+ this .message .setEncryptedKeyLength (encryptedKeyLength );
56+ this .message .setKeyArgLength (keyArgLength );
57+ this .message .setClearKeyData (clearKeyData );
58+ this .message .setEncryptedKeyData (encryptedKey );
59+ }
60+
61+ @ Test
62+ public void test () {
63+ SSL2ClientMasterKeySerializer serializer = new SSL2ClientMasterKeySerializer (this .message , this .version );
64+ byte [] result = serializer .serializeProtocolMessageContent ();
65+ assertArrayEquals (this .expectedClientMasterKeyMessage , result );
6166 }
62-
63- @ Test
64- public void test () {
65- SSL2ClientMasterKeySerializer serializer = new SSL2ClientMasterKeySerializer (this .message , this .version );
66- byte [] result = serializer .serializeProtocolMessageContent ();
67- assertArrayEquals (this .expectedClientMasterKeyMessage ,result );
68- }
6967}
0 commit comments