diff --git a/OpenSSL/crypto.py b/OpenSSL/crypto.py
index b671d9e..cc99105 100644
--- a/OpenSSL/crypto.py
+++ b/OpenSSL/crypto.py
@@ -1,5 +1,5 @@
+import six
 from warnings import warn
-from sys import version_info
 from time import time
 from base64 import b16encode
 from functools import partial
@@ -1957,12 +1957,10 @@
 
         # Backward compatibility
         if isinstance(passphrase, _text_type):
-            if version_info.major == 2:
+            if six.PY2:
                 warn("unicode in passphrase is no longer accepted, use bytes", DeprecationWarning)
-            elif version_info.major == 3:
-                warn("str in passphrase is no longer accepted, use bytes", DeprecationWarning)
             else:
-                warn("text in passphrase is no longer accepted, use bytes", DeprecationWarning)
+                warn("str in passphrase is no longer accepted, use bytes", DeprecationWarning)
             passphrase = passphrase.encode('utf-8')
 
         if self._cacerts is None:
@@ -2265,12 +2263,10 @@
 
     # Backward compatibility
     if isinstance(data, _text_type):
-        if version_info.major == 2:
+        if six.PY2:
             warn("unicode in passphrase is no longer accepted, use bytes", DeprecationWarning)
-        elif version_info.major == 3:
-            warn("str in passphrase is no longer accepted, use bytes", DeprecationWarning)
         else:
-            warn("text in passphrase is no longer accepted, use bytes", DeprecationWarning)
+            warn("str in passphrase is no longer accepted, use bytes", DeprecationWarning)
         data = data.encode('utf-8')
 
     digest_obj = _lib.EVP_get_digestbyname(_byte_string(digest))
@@ -2310,12 +2306,10 @@
 
     # Backward compatibility
     if isinstance(data, _text_type):
-        if version_info.major == 2:
+        if six.PY2:
             warn("unicode in passphrase is no longer accepted, use bytes", DeprecationWarning)
-        elif version_info.major == 3:
-            warn("str in passphrase is no longer accepted, use bytes", DeprecationWarning)
         else:
-            warn("text in passphrase is no longer accepted, use bytes", DeprecationWarning)
+            warn("str in passphrase is no longer accepted, use bytes", DeprecationWarning)
         data = data.encode('utf-8')
 
     digest_obj = _lib.EVP_get_digestbyname(_byte_string(digest))
@@ -2412,12 +2406,10 @@
 
     # Backward compatibility
     if isinstance(passphrase, _text_type):
-        if version_info.major == 2:
+        if six.PY2:
             warn("unicode in passphrase is no longer accepted, use bytes", DeprecationWarning)
-        elif version_info.major == 3:
-            warn("str in passphrase is no longer accepted, use bytes", DeprecationWarning)
         else:
-            warn("text in passphrase is no longer accepted, use bytes", DeprecationWarning)
+            warn("str in passphrase is no longer accepted, use bytes", DeprecationWarning)
         passphrase = passphrase.encode('utf-8')
 
     if isinstance(buffer, _text_type):
