From 25f1922658fb3550d199486e2d05299d1454360f Mon Sep 17 00:00:00 2001 From: Paul Kehrer Date: Tue, 4 Aug 2015 23:05:09 +0100 Subject: check that required fields are present in builder when signing --- src/cryptography/x509.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src') diff --git a/src/cryptography/x509.py b/src/cryptography/x509.py index 978eb560..0ddff728 100644 --- a/src/cryptography/x509.py +++ b/src/cryptography/x509.py @@ -1752,4 +1752,22 @@ class CertificateBuilder(object): """ Signs the certificate using the CA's private key. """ + if self._subject_name is None: + raise ValueError("A certificate must have a subject name") + + if self._issuer_name is None: + raise ValueError("A certificate must have an issuer name") + + if self._serial_number is None: + raise ValueError("A certificate must have a serial number") + + if self._not_valid_before is None: + raise ValueError("A certificate must have a not valid before time") + + if self._not_valid_after is None: + raise ValueError("A certificate must have a not valid after time") + + if self._public_key is None: + raise ValueError("A certificate must have a public key") + return backend.sign_x509_certificate(self, private_key, algorithm) -- cgit v1.2.3