Use six library to check python version
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):