diff options
| author | Paul Kehrer <paul.l.kehrer@gmail.com> | 2021-10-29 19:30:00 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-10-29 07:30:00 -0400 |
| commit | 87af40a132417b05b8eec6b792ccd4ecabf8802a (patch) | |
| tree | 4321ad6171413592861d6268b2ccf85bdea54269 /tests | |
| parent | 2f244d826d68559c65d3ef1902712a3d882125e3 (diff) | |
| download | cryptography-87af40a132417b05b8eec6b792ccd4ecabf8802a.tar.gz | |
support bmpstring and universalstring decoding in name (#6492)
* support bmpstring and universalstring decoding in name
this doesn't fix BMPString/UniversalString in DisplayText; that requires
altering our implementation or adding those types to rust-asn1
* cargo fmt
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/x509/test_x509.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/x509/test_x509.py b/tests/x509/test_x509.py index 9b4e2fb63..5d0b4cb3e 100644 --- a/tests/x509/test_x509.py +++ b/tests/x509/test_x509.py @@ -2715,6 +2715,41 @@ class TestCertificateBuilder(object): x509.DNSName("cryptography.io"), ] + def test_build_cert_with_bmpstring_universalstring_name(self, backend): + private_key = RSA_KEY_2048.private_key(backend) + issuer = x509.Name( + [ + x509.NameAttribute( + NameOID.COMMON_NAME, + "cryptography.io", + _ASN1Type.BMPString, + ), + x509.NameAttribute(NameOID.ORGANIZATION_NAME, "PyCA"), + ] + ) + subject = x509.Name( + [ + x509.NameAttribute( + NameOID.COMMON_NAME, + "cryptography.io", + _ASN1Type.UniversalString, + ), + x509.NameAttribute(NameOID.ORGANIZATION_NAME, "PyCA"), + ] + ) + builder = x509.CertificateBuilder() + builder = ( + builder.subject_name(subject) + .issuer_name(issuer) + .serial_number(1) + .public_key(private_key.public_key()) + .not_valid_before(datetime.datetime(2002, 1, 1, 12, 1)) + .not_valid_after(datetime.datetime(2032, 1, 1, 12, 1)) + ) + cert = builder.sign(private_key, hashes.SHA256(), backend) + assert cert.issuer == issuer + assert cert.subject == subject + @pytest.mark.supported( only_if=lambda backend: backend.ed25519_supported(), skip_message="Requires OpenSSL with Ed25519 support", |
