summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2021-10-29 19:30:00 +0800
committerGitHub <noreply@github.com>2021-10-29 07:30:00 -0400
commit87af40a132417b05b8eec6b792ccd4ecabf8802a (patch)
tree4321ad6171413592861d6268b2ccf85bdea54269 /tests
parent2f244d826d68559c65d3ef1902712a3d882125e3 (diff)
downloadcryptography-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.py35
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",