diff options
author | Alex Gaynor <alex.gaynor@gmail.com> | 2015-07-23 18:44:27 -0400 |
---|---|---|
committer | Alex Gaynor <alex.gaynor@gmail.com> | 2015-07-23 18:44:27 -0400 |
commit | ba0b3589fd4f65c691849a79228cdc9bc6d0601c (patch) | |
tree | c51ad27b2c23bf03c4976f404d43e29d391ff6ee /tests | |
parent | ef8a72273d639be239d3d7c2380a0912083811da (diff) | |
parent | 0b8f327f59b5a890f2d2ad9101391a0b818e186a (diff) | |
download | cryptography-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.py | 23 |
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) |