diff --git a/OpenSSL/test/test_crypto.py b/OpenSSL/test/test_crypto.py
index 8b310dd..2f5ccad 100644
--- a/OpenSSL/test/test_crypto.py
+++ b/OpenSSL/test/test_crypto.py
@@ -426,7 +426,7 @@
         self.x509.set_issuer(self.subject)
         self.x509.set_pubkey(self.pkey)
         now = b(datetime.now().strftime("%Y%m%d%H%M%SZ"))
-        expire  = b((datetime.now() + timedelta(days=100)).strftime("%Y%m%d%H%M%SZ"))
+        expire = b((datetime.now() + timedelta(days=100)).strftime("%Y%m%d%H%M%SZ"))
         self.x509.set_notBefore(now)
         self.x509.set_notAfter(expire)
 
@@ -754,9 +754,9 @@
         """
         key = PKey()
         for type, bits in [(TYPE_RSA, 512), (TYPE_DSA, 576)]:
-             key.generate_key(type, bits)
-             self.assertEqual(key.type(), type)
-             self.assertEqual(key.bits(), bits)
+            key.generate_key(type, bits)
+            self.assertEqual(key.type(), type)
+            self.assertEqual(key.bits(), bits)
 
 
     def test_inconsistentKey(self):
@@ -1940,7 +1940,7 @@
         self.assertRaises(TypeError, p12.set_ca_certificates, 3)
         self.assertRaises(TypeError, p12.set_ca_certificates, X509())
         self.assertRaises(TypeError, p12.set_ca_certificates, (3, 4))
-        self.assertRaises(TypeError, p12.set_ca_certificates, ( PKey(), ))
+        self.assertRaises(TypeError, p12.set_ca_certificates, (PKey(),))
         self.assertRaises(TypeError, p12.set_friendlyname, 6)
         self.assertRaises(TypeError, p12.set_friendlyname, ('foo', 'bar'))
 
@@ -2173,8 +2173,8 @@
         """
         passwd = 'whatever'
         e = self.assertRaises(Error, load_pkcs12, b'fruit loops', passwd)
-        self.assertEqual( e.args[0][0][0], 'asn1 encoding routines')
-        self.assertEqual( len(e.args[0][0]), 3)
+        self.assertEqual(e.args[0][0][0], 'asn1 encoding routines')
+        self.assertEqual(len(e.args[0][0]), 3)
 
 
     def test_replace(self):
@@ -3043,7 +3043,7 @@
         that it is empty
         """
         crl = CRL()
-        self.assertTrue( isinstance(crl, CRL) )
+        self.assertTrue(isinstance(crl, CRL))
         self.assertEqual(crl.get_revoked(), None)
 
 
