aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@gmail.com>2015-07-23 18:44:27 -0400
committerAlex Gaynor <alex.gaynor@gmail.com>2015-07-23 18:44:27 -0400
commitba0b3589fd4f65c691849a79228cdc9bc6d0601c (patch)
treec51ad27b2c23bf03c4976f404d43e29d391ff6ee /tests
parentef8a72273d639be239d3d7c2380a0912083811da (diff)
parent0b8f327f59b5a890f2d2ad9101391a0b818e186a (diff)
downloadcryptography-ba0b3589fd4f65c691849a79228cdc9bc6d0601c.tar.gz
cryptography-ba0b3589fd4f65c691849a79228cdc9bc6d0601c.tar.bz2
cryptography-ba0b3589fd4f65c691849a79228cdc9bc6d0601c.zip
Merge pull request #2169 from reaperhulk/encode-eku
Support encoding ExtendedKeyUsage into certificate signing requests
Diffstat (limited to 'tests')
-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)