aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_x509.py
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2015-07-23 21:46:21 +0100
committerPaul Kehrer <paul.l.kehrer@gmail.com>2015-07-23 23:11:03 +0100
commit0b8f327f59b5a890f2d2ad9101391a0b818e186a (patch)
treec51ad27b2c23bf03c4976f404d43e29d391ff6ee /tests/test_x509.py
parentef8a72273d639be239d3d7c2380a0912083811da (diff)
downloadcryptography-0b8f327f59b5a890f2d2ad9101391a0b818e186a.tar.gz
cryptography-0b8f327f59b5a890f2d2ad9101391a0b818e186a.tar.bz2
cryptography-0b8f327f59b5a890f2d2ad9101391a0b818e186a.zip
Support encoding ExtendedKeyUsage into certificate signing requests
Diffstat (limited to 'tests/test_x509.py')
-rw-r--r--tests/test_x509.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/test_x509.py b/tests/test_x509.py
index af7d9421..cacf3c88 100644
--- a/tests/test_x509.py
+++ b/tests/test_x509.py
@@ -1183,6 +1183,29 @@ class TestCertificateSigningRequestBuilder(object):
with pytest.raises(ValueError):
builder.sign(private_key, hashes.SHA256(), backend)
+ def test_extended_key_usage(self, backend):
+ private_key = RSA_KEY_2048.private_key(backend)
+ builder = x509.CertificateSigningRequestBuilder()
+ request = builder.subject_name(
+ x509.Name([x509.NameAttribute(x509.OID_COUNTRY_NAME, u'US')])
+ ).add_extension(
+ x509.ExtendedKeyUsage([
+ x509.OID_CLIENT_AUTH,
+ x509.OID_SERVER_AUTH,
+ x509.OID_CODE_SIGNING,
+ ]), critical=False
+ ).sign(private_key, hashes.SHA256(), backend)
+
+ eku = request.extensions.get_extension_for_oid(
+ x509.OID_EXTENDED_KEY_USAGE
+ )
+ assert eku.critical is False
+ assert eku.value == x509.ExtendedKeyUsage([
+ x509.OID_CLIENT_AUTH,
+ x509.OID_SERVER_AUTH,
+ x509.OID_CODE_SIGNING,
+ ])
+
@pytest.mark.requires_backend_interface(interface=DSABackend)
@pytest.mark.requires_backend_interface(interface=X509Backend)