diff options
-rw-r--r-- | src/cryptography/hazmat/backends/openssl/x509.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/x509.py b/src/cryptography/hazmat/backends/openssl/x509.py index e311e6ab..25cb5704 100644 --- a/src/cryptography/hazmat/backends/openssl/x509.py +++ b/src/cryptography/hazmat/backends/openssl/x509.py @@ -114,9 +114,10 @@ def _build_general_name(backend, gn): )[:].decode("ascii") name, address = parseaddr(data) parts = address.split(u"@") - if name or len(parts) > 2: + 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. raise ValueError("Invalid rfc822name value") elif len(parts) == 1: # Single label email name. This is valid for local delivery. No |