예제 #1
0
    def test___str__(self):
        server_hello = ServerHello()
        server_hello = server_hello.create((3, 0), bytearray(b'\x00' * 32),
                                           bytearray(b'\x01\x20'), 34500, 0,
                                           None, None)

        self.assertEqual("server_hello,length(40),version(3.0),random(...),"\
                "session ID(bytearray(b'\\x01 ')),cipher(0x86c4),"\
                "compression method(0)",
                str(server_hello))
예제 #2
0
    def test_process_with_mandatory_resumption_but_wrong_id(self):
        exp = ExpectServerHello(resume=True)

        state = ConnectionState()
        state.msg_sock = mock.MagicMock()
        state.session_id = bytearray(b'\xaa\xaa\xaa')
        state.cipher = 4

        self.assertFalse(state.resuming)

        msg = ServerHello()
        msg.create(version=(3, 3),
                   random=bytearray(32),
                   session_id=bytearray(b'\xbb\xbb\xbb'),
                   cipher_suite=4)

        self.assertTrue(exp.is_match(msg))

        with self.assertRaises(AssertionError):
            exp.process(state, msg)
    def test_process_with_mandatory_resumption_but_wrong_id(self):
        exp = ExpectServerHello(resume=True)

        state = ConnectionState()
        state.msg_sock = mock.MagicMock()
        state.session_id = bytearray(b'\xaa\xaa\xaa')
        state.cipher = 4

        self.assertFalse(state.resuming)

        msg = ServerHello()
        msg.create(version=(3, 3),
                   random=bytearray(32),
                   session_id=bytearray(b'\xbb\xbb\xbb'),
                   cipher_suite=4)

        self.assertTrue(exp.is_match(msg))

        with self.assertRaises(AssertionError):
            exp.process(state, msg)
예제 #4
0
    def test_process_with_resumption(self):
        exp = ExpectServerHello()

        state = ConnectionState()
        state.msg_sock = mock.MagicMock()
        state.session_id = bytearray(b'\xaa\xaa\xaa')
        state.cipher = 4

        self.assertFalse(state.resuming)

        msg = ServerHello()
        msg.create(version=(3, 3),
                   random=bytearray(32),
                   session_id=bytearray(b'\xaa\xaa\xaa'),
                   cipher_suite=4)

        self.assertTrue(exp.is_match(msg))

        exp.process(state, msg)

        self.assertTrue(state.resuming)
    def test_process_with_resumption(self):
        exp = ExpectServerHello()

        state = ConnectionState()
        state.msg_sock = mock.MagicMock()
        state.session_id = bytearray(b'\xaa\xaa\xaa')
        state.cipher = 4

        self.assertFalse(state.resuming)

        msg = ServerHello()
        msg.create(version=(3, 3),
                   random=bytearray(32),
                   session_id=bytearray(b'\xaa\xaa\xaa'),
                   cipher_suite=4)

        self.assertTrue(exp.is_match(msg))

        exp.process(state, msg)

        self.assertTrue(state.resuming)
예제 #6
0
    def test_process_with_mandatory_resumption(self):
        exp = ExpectServerHello(resume=True)

        state = ConnectionState()
        client_hello = ClientHello()
        client_hello.cipher_suites = [4]
        state.handshake_messages.append(client_hello)
        state.msg_sock = mock.MagicMock()
        state.session_id = bytearray(b'\xaa\xaa\xaa')
        state.cipher = 4

        self.assertFalse(state.resuming)

        msg = ServerHello()
        msg.create(version=(3, 3),
                   random=bytearray(32),
                   session_id=bytearray(b'\xaa\xaa\xaa'),
                   cipher_suite=4)

        self.assertTrue(exp.is_match(msg))

        exp.process(state, msg)

        self.assertTrue(state.resuming)
    def test___str__(self):
        server_hello = ServerHello()
        server_hello = server_hello.create(
                (3,0),
                bytearray(b'\x00'*32),
                bytearray(b'\x01\x20'),
                34500,
                0,
                None,
                None)

        self.assertEqual("server_hello,length(40),version(3.0),random(...),"\
                "session ID(bytearray(b'\\x01 ')),cipher(0x86c4),"\
                "compression method(0)",
                str(server_hello))
예제 #8
0
 def test___repr__(self):
     server_hello = ServerHello()
     server_hello = server_hello.create((3, 0),
                                        bytearray(b'\x00' * 32),
                                        bytearray(0),
                                        34500,
                                        0,
                                        None,
                                        None,
                                        extensions=[])
     self.maxDiff = None
     self.assertEqual("ServerHello(server_version=(3.0), "\
             "random=bytearray(b'\\x00\\x00"\
             "\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00"\
             "\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00"\
             "\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'), "\
             "session_id=bytearray(b''), "\
             "cipher_suite=34500, compression_method=0, _tack_ext=None, "\
             "extensions=[])", repr(server_hello))
 def test___repr__(self):
     server_hello = ServerHello()
     server_hello = server_hello.create(
             (3,0),
             bytearray(b'\x00'*32),
             bytearray(0),
             34500,
             0,
             None,
             None,
             extensions=[])
     self.maxDiff = None
     self.assertEqual("ServerHello(server_version=(3.0), "\
             "random=bytearray(b'\\x00\\x00"\
             "\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00"\
             "\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00"\
             "\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'), "\
             "session_id=bytearray(b''), "\
             "cipher_suite=34500, compression_method=0, _tack_ext=None, "\
             "extensions=[])", repr(server_hello))