From 023cfd2a43dd8132e2c10f572081a924cea357b1 Mon Sep 17 00:00:00 2001 From: Rob Crittenden Date: Sep 06 2019 17:44:16 +0000 Subject: Fix re-key after importing existing private key If the key_gen size and algorithm are not set then set it with the current key. This is important when generating a certificate using a pre-existing private key. Previously a resubmit would cause certmonger to generate a new 2048-bit key regardless of the previous key size. https://pagure.io/certmonger/issue/124 --- diff --git a/src/keyiread.c b/src/keyiread.c index 57233cf..db34c4b 100644 --- a/src/keyiread.c +++ b/src/keyiread.c @@ -152,6 +152,10 @@ cm_keyiread_read_data_from_buffer(struct cm_store_entry *entry, const char *p) if (size > 0) { entry->cm_key_type.cm_key_algorithm = alg; entry->cm_key_type.cm_key_size = size; + if (entry->cm_key_type.cm_key_gen_algorithm == 0) { + entry->cm_key_type.cm_key_gen_algorithm = alg; + entry->cm_key_type.cm_key_gen_size = size; + } } p = q + strspn(q, "/\r\n"); q = p + strcspn(p, "/\r\n");