summaryrefslogtreecommitdiff
path: root/src/cryptography
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2020-08-14 23:34:04 -0500
committerGitHub <noreply@github.com>2020-08-15 00:34:04 -0400
commit519cae6a2d0d7e0c3bf6ff542b716e4f753ca380 (patch)
tree466c4213c9b0b2d31c7750eee1f4e0ba3f0dff10 /src/cryptography
parent40bfc7f75b0a084ea10ac3d1866262e9d61b426e (diff)
downloadcryptography-519cae6a2d0d7e0c3bf6ff542b716e4f753ca380.tar.gz
x509 optional backend args (#5390)
Diffstat (limited to 'src/cryptography')
-rw-r--r--src/cryptography/x509/base.py31
-rw-r--r--src/cryptography/x509/name.py4
2 files changed, 24 insertions, 11 deletions
diff --git a/src/cryptography/x509/base.py b/src/cryptography/x509/base.py
index 102468a45..f3bc872b9 100644
--- a/src/cryptography/x509/base.py
+++ b/src/cryptography/x509/base.py
@@ -12,6 +12,7 @@ from enum import Enum
import six
from cryptography import utils
+from cryptography.hazmat.backends import _get_backend
from cryptography.hazmat.primitives.asymmetric import (
dsa,
ec,
@@ -66,27 +67,33 @@ class Version(Enum):
v3 = 2
-def load_pem_x509_certificate(data, backend):
+def load_pem_x509_certificate(data, backend=None):
+ backend = _get_backend(backend)
return backend.load_pem_x509_certificate(data)
-def load_der_x509_certificate(data, backend):
+def load_der_x509_certificate(data, backend=None):
+ backend = _get_backend(backend)
return backend.load_der_x509_certificate(data)
-def load_pem_x509_csr(data, backend):
+def load_pem_x509_csr(data, backend=None):
+ backend = _get_backend(backend)
return backend.load_pem_x509_csr(data)
-def load_der_x509_csr(data, backend):
+def load_der_x509_csr(data, backend=None):
+ backend = _get_backend(backend)
return backend.load_der_x509_csr(data)
-def load_pem_x509_crl(data, backend):
+def load_pem_x509_crl(data, backend=None):
+ backend = _get_backend(backend)
return backend.load_pem_x509_crl(data)
-def load_der_x509_crl(data, backend):
+def load_der_x509_crl(data, backend=None):
+ backend = _get_backend(backend)
return backend.load_der_x509_crl(data)
@@ -468,10 +475,11 @@ class CertificateSigningRequestBuilder(object):
self._attributes + [(oid, value)],
)
- def sign(self, private_key, algorithm, backend):
+ def sign(self, private_key, algorithm, backend=None):
"""
Signs the request using the requestor's private key.
"""
+ backend = _get_backend(backend)
if self._subject_name is None:
raise ValueError("A CertificateSigningRequest must have a subject")
return backend.create_x509_csr(self, private_key, algorithm)
@@ -672,10 +680,11 @@ class CertificateBuilder(object):
self._extensions + [extension],
)
- def sign(self, private_key, algorithm, backend):
+ def sign(self, private_key, algorithm, backend=None):
"""
Signs the certificate using the CA's private key.
"""
+ backend = _get_backend(backend)
if self._subject_name is None:
raise ValueError("A certificate must have a subject name")
@@ -801,7 +810,8 @@ class CertificateRevocationListBuilder(object):
self._revoked_certificates + [revoked_certificate],
)
- def sign(self, private_key, algorithm, backend):
+ def sign(self, private_key, algorithm, backend=None):
+ backend = _get_backend(backend)
if self._issuer_name is None:
raise ValueError("A CRL must have an issuer name")
@@ -866,7 +876,8 @@ class RevokedCertificateBuilder(object):
self._extensions + [extension],
)
- def build(self, backend):
+ def build(self, backend=None):
+ backend = _get_backend(backend)
if self._serial_number is None:
raise ValueError("A revoked certificate must have a serial number")
if self._revocation_date is None:
diff --git a/src/cryptography/x509/name.py b/src/cryptography/x509/name.py
index 6848b7a31..0be876a0e 100644
--- a/src/cryptography/x509/name.py
+++ b/src/cryptography/x509/name.py
@@ -9,6 +9,7 @@ from enum import Enum
import six
from cryptography import utils
+from cryptography.hazmat.backends import _get_backend
from cryptography.x509.oid import NameOID, ObjectIdentifier
@@ -225,7 +226,8 @@ class Name(object):
def rdns(self):
return self._attributes
- def public_bytes(self, backend):
+ def public_bytes(self, backend=None):
+ backend = _get_backend(backend)
return backend.x509_name_bytes(self)
def __eq__(self, other):