Merge pull request #2147 from reaperhulk/there-are-two-parts

parts can't be > 2, so let's not pretend it could be
diff --git a/src/cryptography/hazmat/backends/openssl/x509.py b/src/cryptography/hazmat/backends/openssl/x509.py
index 096cbc9..472d8a7 100644
--- a/src/cryptography/hazmat/backends/openssl/x509.py
+++ b/src/cryptography/hazmat/backends/openssl/x509.py
@@ -175,10 +175,9 @@
         data = _asn1_string_to_ascii(backend, gn.d.rfc822Name)
         name, address = parseaddr(data)
         parts = address.split(u"@")
-        if name or len(parts) > 2 or not address:
-            # parseaddr has found a name (e.g. Name <email>) or the split
-            # has found more than 2 parts (which means more than one @ sign)
-            # or the entire value is an empty string.
+        if name or not address:
+            # parseaddr has found a name (e.g. Name <email>) or the entire
+            # value is an empty string.
             raise ValueError("Invalid rfc822name value")
         elif len(parts) == 1:
             # Single label email name. This is valid for local delivery. No