Don't raise an UnsupportedExtension for critical extensions. (#3550)
* Don't raise an UnsupportedExtension for critical extensions.
Fixes #2903
Fixes #2901
Fixes #3325
* Don't link
* Revert "Don't link"
This reverts commit 4fe847f91d9dd45cdc28a4984c4e44aad62a5de6.
* fix
* Revert "Revert "Don't link""
This reverts commit 856031b5a1fbad04ac218fa94ebf37dcd402f3ed.
* fix
* Deprecate this
* Better changelog entry
diff --git a/tests/test_x509.py b/tests/test_x509.py
index de19d0d..c15940e 100644
--- a/tests/test_x509.py
+++ b/tests/test_x509.py
@@ -438,8 +438,10 @@
backend
)
- with pytest.raises(x509.UnsupportedExtension):
- crl[0].extensions
+ ext = crl[0].extensions.get_extension_for_oid(
+ x509.ObjectIdentifier("1.2.3.4")
+ )
+ assert ext.value.value == b"\n\x01\x00"
def test_unsupported_reason(self, backend):
crl = _load_cert(
@@ -1129,10 +1131,10 @@
x509.load_pem_x509_csr,
backend
)
- with pytest.raises(x509.UnsupportedExtension) as exc:
- request.extensions
-
- assert exc.value.oid == x509.ObjectIdentifier('1.2.3.4')
+ ext = request.extensions.get_extension_for_oid(
+ x509.ObjectIdentifier('1.2.3.4')
+ )
+ assert ext.value.value == b"value"
def test_unsupported_extension(self, backend):
request = _load_cert(
diff --git a/tests/test_x509_ext.py b/tests/test_x509_ext.py
index 8210b05..eaf5a51 100644
--- a/tests/test_x509_ext.py
+++ b/tests/test_x509_ext.py
@@ -1085,10 +1085,10 @@
x509.load_pem_x509_certificate,
backend
)
- with pytest.raises(x509.UnsupportedExtension) as exc:
- cert.extensions
-
- assert exc.value.oid == x509.ObjectIdentifier("1.2.3.4")
+ ext = cert.extensions.get_extension_for_oid(
+ x509.ObjectIdentifier("1.2.3.4")
+ )
+ assert ext.value.value == b"value"
@pytest.mark.requires_backend_interface(interface=EllipticCurveBackend)
def test_unsupported_extension(self, backend):