diff --git a/lemur/certificates/schemas.py b/lemur/certificates/schemas.py index ac7add38..1e5fe6a6 100644 --- a/lemur/certificates/schemas.py +++ b/lemur/certificates/schemas.py @@ -326,6 +326,7 @@ class CertificateUploadInputSchema(CertificateCreationSchema): body = fields.String(required=True) chain = fields.String(missing=None, allow_none=True) csr = fields.String(required=False, allow_none=True, validate=validators.csr) + key_type = fields.String() destinations = fields.Nested(AssociatedDestinationSchema, missing=[], many=True) notifications = fields.Nested(AssociatedNotificationSchema, missing=[], many=True) @@ -373,6 +374,10 @@ class CertificateUploadInputSchema(CertificateCreationSchema): # Throws ValidationError validators.verify_cert_chain([cert] + chain) + @pre_load + def load_data(self, data): + data["key_type"] = utils.get_key_type_from_certificate(data["body"]) + class CertificateExportInputSchema(LemurInputSchema): plugin = fields.Nested(PluginInputSchema)