diff options
author | Alex W <embezzle.dev@proton.me> | 2024-04-22 22:12:26 +0100 |
---|---|---|
committer | Alex W <embezzle.dev@proton.me> | 2024-04-22 22:12:26 +0100 |
commit | a849d913dc6a86c698dc215350a46b7af72bb99e (patch) | |
tree | d5c00d2800fea023793c482b2d9c6205f8c063e7 | |
parent | d22560b942cb4d6a9b71aaa9d0b16f8ace8c26b1 (diff) | |
download | vyos-1x-a849d913dc6a86c698dc215350a46b7af72bb99e.tar.gz vyos-1x-a849d913dc6a86c698dc215350a46b7af72bb99e.zip |
PKI: T6259: Support RFC822 names in certificate generation
-rw-r--r-- | python/vyos/pki.py | 2 | ||||
-rwxr-xr-x | src/op_mode/pki.py | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/python/vyos/pki.py b/python/vyos/pki.py index 3c577db4d..27fe793a8 100644 --- a/python/vyos/pki.py +++ b/python/vyos/pki.py @@ -146,7 +146,7 @@ def create_certificate_request(subject, private_key, subject_alt_names=[]): if isinstance(obj, ipaddress.IPv4Address) or isinstance(obj, ipaddress.IPv6Address): alt_names.append(x509.IPAddress(obj)) elif isinstance(obj, str): - alt_names.append(x509.DNSName(obj)) + alt_names.append(x509.RFC822Name(obj) if '@' in obj else x509.DNSName(obj)) if alt_names: builder = builder.add_extension(x509.SubjectAlternativeName(alt_names), critical=False) diff --git a/src/op_mode/pki.py b/src/op_mode/pki.py index ad2c1ada0..b1ca6ee29 100755 --- a/src/op_mode/pki.py +++ b/src/op_mode/pki.py @@ -306,7 +306,7 @@ def parse_san_string(san_string): output.append(ipaddress.IPv4Address(value)) elif tag == 'ipv6': output.append(ipaddress.IPv6Address(value)) - elif tag == 'dns': + elif tag == 'dns' or tag == 'rfc822': output.append(value) return output @@ -324,7 +324,7 @@ def generate_certificate_request(private_key=None, key_type=None, return_request subject_alt_names = None if ask_san and ask_yes_no('Do you want to configure Subject Alternative Names?'): - print("Enter alternative names in a comma separate list, example: ipv4:1.1.1.1,ipv6:fe80::1,dns:vyos.net") + print("Enter alternative names in a comma separate list, example: ipv4:1.1.1.1,ipv6:fe80::1,dns:vyos.net,rfc822:user@vyos.net") san_string = ask_input('Enter Subject Alternative Names:') subject_alt_names = parse_san_string(san_string) |