def test_get_server_public_key_with_valid_messages(self): state = ConnectionState() msg = messages.Certificate(constants.CertificateType.x509) cert_list = mock.MagicMock() msg.create(cert_list) state.handshake_messages.append(msg) state.get_server_public_key() self.assertTrue(cert_list.getEndEntityPublicKey.called)
def test_get_server_public_key_with_valid_messages(self): state = ConnectionState() msg = messages.Certificate(constants.CertificateType.x509) cert_list = mock.MagicMock() msg.create(cert_list) state.handshake_messages.append(msg) state.get_server_public_key() self.assertTrue(cert_list.getEndEntityPublicKey.called)
def test_generate_with_des_cipher(self): cmk = ClientMasterKeyGenerator( cipher=constants.CipherSuite.SSL_CK_DES_64_CBC_WITH_MD5) state = ConnectionState() state.msg_sock = mock.MagicMock() state.get_server_public_key = mock.MagicMock() ret = cmk.generate(state) self.assertEqual(ret.encrypted_key, state.get_server_public_key().encrypt())
def test_generate(self): cmk = ClientMasterKeyGenerator( cipher=constants.CipherSuite.SSL_CK_DES_192_EDE3_CBC_WITH_MD5) state = ConnectionState() state.msg_sock = mock.MagicMock() state.get_server_public_key = mock.MagicMock() ret = cmk.generate(state) self.assertEqual(ret.cipher, constants.CipherSuite.SSL_CK_DES_192_EDE3_CBC_WITH_MD5) self.assertEqual(ret.clear_key, bytearray(0)) self.assertEqual(ret.encrypted_key, state.get_server_public_key().encrypt()) self.assertEqual(ret.key_argument, state.msg_sock.calcSSL2PendingStates())
def test_post_send(self): state = ConnectionState() state.get_server_public_key = lambda: self.priv_key cke = ClientKeyExchangeGenerator(constants.CipherSuite.TLS_RSA_WITH_NULL_MD5, (3, 3)) ret = cke.generate(state) cke.post_send(state)
def test_post_send(self): state = ConnectionState() state.get_server_public_key = lambda: self.priv_key cke = ClientKeyExchangeGenerator( constants.CipherSuite.TLS_RSA_WITH_NULL_MD5, (3, 3)) ret = cke.generate(state) cke.post_send(state)
def test_generate_with_export_cipher(self): cmk = ClientMasterKeyGenerator( cipher=constants.CipherSuite.SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5) state = ConnectionState() state.msg_sock = mock.MagicMock() state.get_server_public_key = mock.MagicMock() ret = cmk.generate(state) self.assertEqual(len(ret.clear_key), 11)
def test_generate(self): state = ConnectionState() state.get_server_public_key = lambda: self.priv_key cke = ClientKeyExchangeGenerator() ret = cke.generate(state) self.assertEqual(len(ret.encryptedPreMasterSecret), 128) decrypt = self.priv_key.decrypt(ret.encryptedPreMasterSecret) self.assertEqual(decrypt[:2], bytearray([3, 3]))
def test_generate(self): state = ConnectionState() state.get_server_public_key = lambda: self.priv_key cke = ClientKeyExchangeGenerator() ret = cke.generate(state) self.assertEqual(len(ret.encryptedPreMasterSecret), 128) decrypt = self.priv_key.decrypt(ret.encryptedPreMasterSecret) self.assertEqual(decrypt[:2], bytearray([3, 3]))
def test_generate(self): state = ConnectionState() state.get_server_public_key = lambda : self.priv_key cke = ClientKeyExchangeGenerator( cipher=constants.CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA) ret = cke.generate(state) self.assertEqual(len(ret.encryptedPreMasterSecret), 128) decrypt = self.priv_key.decrypt(ret.encryptedPreMasterSecret) self.assertEqual(decrypt[:2], bytearray([3, 3]))
def test_generate_with_session_key(self): cmk = ClientMasterKeyGenerator( cipher=constants.CipherSuite.SSL_CK_DES_192_EDE3_CBC_WITH_MD5) state = ConnectionState() state.msg_sock = mock.MagicMock() state.get_server_public_key = mock.MagicMock() state.master_secret = bytearray(range(32)) ret = cmk.generate(state) state.msg_sock.calcSSL2PendingStates.assert_called_once_with( constants.CipherSuite.SSL_CK_DES_192_EDE3_CBC_WITH_MD5, bytearray(range(32)), bytearray(0), bytearray(0), None)
def test_get_server_public_key(self): state = ConnectionState() with self.assertRaises(StopIteration): state.get_server_public_key()
def test_get_server_public_key(self): state = ConnectionState() with self.assertRaises(StopIteration): state.get_server_public_key()