diff options
-rw-r--r-- | src/cryptography/hazmat/backends/openssl/backend.py | 2 | ||||
-rw-r--r-- | src/cryptography/x509.py | 19 | ||||
-rw-r--r-- | tests/test_x509.py | 41 |
3 files changed, 22 insertions, 40 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/backend.py b/src/cryptography/hazmat/backends/openssl/backend.py index a6acb076..c32b5270 100644 --- a/src/cryptography/hazmat/backends/openssl/backend.py +++ b/src/cryptography/hazmat/backends/openssl/backend.py @@ -819,7 +819,7 @@ class Backend(object): assert x509_req != self._ffi.NULL # Set x509 version. - res = self._lib.X509_REQ_set_version(x509_req, builder._version.value) + res = self._lib.X509_REQ_set_version(x509_req, x509.Version.v1.value) assert res == 1 # Set subject name. diff --git a/src/cryptography/x509.py b/src/cryptography/x509.py index c59de606..b1aa0679 100644 --- a/src/cryptography/x509.py +++ b/src/cryptography/x509.py @@ -1445,33 +1445,20 @@ class RevokedCertificate(object): class CertificateSigningRequestBuilder(object): - def __init__(self, version=Version.v1, subject_name=None, extensions=[]): + def __init__(self, subject_name=None, extensions=[]): """ Creates an empty X.509 certificate request (v1). """ - self._version = Version.v1 self._subject_name = subject_name self._extensions = extensions[:] - def set_version(self, version): - """ - Sets the X.509 version. - """ - if not isinstance(version, Version): - raise TypeError('Expecting x509.Version object.') - return CertificateSigningRequestBuilder( - version, self._subject_name, self._extensions - ) - def set_subject_name(self, name): """ Sets the certificate requestor's distinguished name. """ if not isinstance(name, Name): raise TypeError('Expecting x509.Name object.') - return CertificateSigningRequestBuilder( - self._version, name, self._extensions - ) + return CertificateSigningRequestBuilder(name, self._extensions) def add_extension(self, extension): """ @@ -1483,7 +1470,7 @@ class CertificateSigningRequestBuilder(object): if e.oid == extension.oid: raise ValueError('This extension has already been set.') return CertificateSigningRequestBuilder( - self._version, self._subject_name, self._extensions + [extension] + self._subject_name, self._extensions + [extension] ) def sign(self, backend, private_key, algorithm): diff --git a/tests/test_x509.py b/tests/test_x509.py index 981ad528..aadbed02 100644 --- a/tests/test_x509.py +++ b/tests/test_x509.py @@ -699,15 +699,15 @@ class TestCertificateSigningRequestBuilder(object): backend=backend, ) - request = x509.CertificateSigningRequestBuilder().set_version( - x509.Version.v3 - ).set_subject_name(x509.Name([ - x509.NameAttribute(x509.OID_COUNTRY_NAME, 'US'), - x509.NameAttribute(x509.OID_STATE_OR_PROVINCE_NAME, 'Texas'), - x509.NameAttribute(x509.OID_LOCALITY_NAME, 'Austin'), - x509.NameAttribute(x509.OID_ORGANIZATION_NAME, 'PyCA'), - x509.NameAttribute(x509.OID_COMMON_NAME, 'cryptography.io'), - ])).add_extension(x509.Extension( + request = x509.CertificateSigningRequestBuilder().set_subject_name( + x509.Name([ + x509.NameAttribute(x509.OID_COUNTRY_NAME, 'US'), + x509.NameAttribute(x509.OID_STATE_OR_PROVINCE_NAME, 'Texas'), + x509.NameAttribute(x509.OID_LOCALITY_NAME, 'Austin'), + x509.NameAttribute(x509.OID_ORGANIZATION_NAME, 'PyCA'), + x509.NameAttribute(x509.OID_COMMON_NAME, 'cryptography.io'), + ]) + ).add_extension(x509.Extension( x509.OID_BASIC_CONSTRAINTS, True, x509.BasicConstraints(True, 2), @@ -740,15 +740,15 @@ class TestCertificateSigningRequestBuilder(object): backend=backend, ) - request = x509.CertificateSigningRequestBuilder().set_version( - x509.Version.v3 - ).set_subject_name(x509.Name([ - x509.NameAttribute(x509.OID_COUNTRY_NAME, 'US'), - x509.NameAttribute(x509.OID_STATE_OR_PROVINCE_NAME, 'Texas'), - x509.NameAttribute(x509.OID_LOCALITY_NAME, 'Austin'), - x509.NameAttribute(x509.OID_ORGANIZATION_NAME, 'PyCA'), - x509.NameAttribute(x509.OID_COMMON_NAME, 'cryptography.io'), - ])).add_extension(x509.Extension( + request = x509.CertificateSigningRequestBuilder().set_subject_name( + x509.Name([ + x509.NameAttribute(x509.OID_COUNTRY_NAME, 'US'), + x509.NameAttribute(x509.OID_STATE_OR_PROVINCE_NAME, 'Texas'), + x509.NameAttribute(x509.OID_LOCALITY_NAME, 'Austin'), + x509.NameAttribute(x509.OID_ORGANIZATION_NAME, 'PyCA'), + x509.NameAttribute(x509.OID_COMMON_NAME, 'cryptography.io'), + ]) + ).add_extension(x509.Extension( x509.OID_BASIC_CONSTRAINTS, True, x509.BasicConstraints(False, None), @@ -799,11 +799,6 @@ class TestCertificateSigningRequestBuilder(object): with pytest.raises(TypeError): builder.set_subject_name('NotAName') - def test_set_invalid_version(self, backend): - builder = x509.CertificateSigningRequestBuilder() - with pytest.raises(TypeError): - builder.set_version('NotAVersion') - def test_add_unsupported_extension(self, backend): private_key = rsa.generate_private_key( public_exponent=65537, |