From a33ea283d74c85076a21e60e1f09e4998f5c7c48 Mon Sep 17 00:00:00 2001 From: Andre Caron Date: Sun, 31 May 2015 16:32:26 -0400 Subject: Renames sign_509_request to create_x509_csr. --- src/cryptography/hazmat/backends/interfaces.py | 6 ++++++ src/cryptography/hazmat/backends/multibackend.py | 9 +++++++++ src/cryptography/hazmat/backends/openssl/backend.py | 2 +- src/cryptography/x509.py | 2 +- 4 files changed, 17 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/cryptography/hazmat/backends/interfaces.py b/src/cryptography/hazmat/backends/interfaces.py index eca7ddf4..512cb6e3 100644 --- a/src/cryptography/hazmat/backends/interfaces.py +++ b/src/cryptography/hazmat/backends/interfaces.py @@ -274,6 +274,12 @@ class X509Backend(object): Load an X.509 CSR from PEM encoded data. """ + @abc.abstractmethod + def create_x509_csr(self, builder, private_key, algorithm): + """ + Create and sign an X.509 CSR from a CSR buidler object. + """ + @six.add_metaclass(abc.ABCMeta) class DHBackend(object): diff --git a/src/cryptography/hazmat/backends/multibackend.py b/src/cryptography/hazmat/backends/multibackend.py index 784ab84d..6e911fd5 100644 --- a/src/cryptography/hazmat/backends/multibackend.py +++ b/src/cryptography/hazmat/backends/multibackend.py @@ -342,3 +342,12 @@ class MultiBackend(object): "This backend does not support X.509.", _Reasons.UNSUPPORTED_X509 ) + + def create_x509_csr(self, builder, private_key, algorithm): + for b in self._filtered_backends(X509Backend): + return b.create_x509_csr(builder, private_key, algorithm) + + raise UnsupportedAlgorithm( + "This backend does not support X.509.", + _Reasons.UNSUPPORTED_X509 + ) diff --git a/src/cryptography/hazmat/backends/openssl/backend.py b/src/cryptography/hazmat/backends/openssl/backend.py index bf838ead..b8b2ab6b 100644 --- a/src/cryptography/hazmat/backends/openssl/backend.py +++ b/src/cryptography/hazmat/backends/openssl/backend.py @@ -784,7 +784,7 @@ class Backend(object): def create_cmac_ctx(self, algorithm): return _CMACContext(self, algorithm) - def sign_x509_request(self, builder, private_key, algorithm): + def create_x509_csr(self, builder, private_key, algorithm): # TODO: check type of private key parameter. if not isinstance(algorithm, hashes.HashAlgorithm): raise TypeError('Algorithm must be a registered hash algorithm.') diff --git a/src/cryptography/x509.py b/src/cryptography/x509.py index 012c13ba..2ee1c3ef 100644 --- a/src/cryptography/x509.py +++ b/src/cryptography/x509.py @@ -1484,4 +1484,4 @@ class CertificateSigningRequestBuilder(object): """ Signs the request using the requestor's private key. """ - return backend.sign_x509_request(self, private_key, algorithm) + return backend.create_x509_csr(self, private_key, algorithm) -- cgit v1.2.3