Blame SOURCES/1001-Remove-rekey-feature.patch

20746d
From 3c763332adc224d0e325502cb3e5b97d4155bb0c Mon Sep 17 00:00:00 2001
3eac4d
From: Jan Cholasta <jcholast@redhat.com>
3eac4d
Date: Fri, 7 Aug 2015 13:40:41 +0200
3eac4d
Subject: [PATCH] Remove rekey feature
3eac4d
3eac4d
https://bugzilla.redhat.com/show_bug.cgi?id=1250397
3eac4d
---
3eac4d
 src/certmonger-scep-submit.8.in |  8 --------
3eac4d
 src/certmonger.conf.5.in        | 19 -------------------
3eac4d
 src/getcert-add-scep-ca.1.in    |  8 --------
3eac4d
 src/getcert.c                   |  3 ---
3eac4d
 src/prefs.c                     | 27 +--------------------------
3eac4d
 src/scep.c                      |  5 -----
3eac4d
 src/submit-e.c                  |  6 ------
3eac4d
 src/tdbush.c                    | 10 +---------
3eac4d
 tests/010-iterate/expected.out  | 14 +++++---------
3eac4d
 tests/028-dbus/expected.out     |  6 ------
3eac4d
 tests/036-getcert/expected.out  | 26 ++++++++++++++------------
3eac4d
 tests/037-rekey2/expected.out   |  4 ++--
3eac4d
 12 files changed, 23 insertions(+), 113 deletions(-)
3eac4d
3eac4d
diff --git a/src/certmonger-scep-submit.8.in b/src/certmonger-scep-submit.8.in
20746d
index 7319c6a..31203c3 100644
3eac4d
--- a/src/certmonger-scep-submit.8.in
3eac4d
+++ b/src/certmonger-scep-submit.8.in
3eac4d
@@ -80,14 +80,6 @@ When called with the \fB-c\fR or \fB-C\fR flag, this option can be used to
3eac4d
 specify the CA identifier which is passed to the server as part of the client's
3eac4d
 request.  The default is "0".
3eac4d
 .TP
3eac4d
-\fB\-n\fR
3eac4d
-The SCEP Renewal feature allows a client with a previously-issued certificate
3eac4d
-to use that certificate and the associated private key to request a new
3eac4d
-certificate for a different key pair, and can be used to support
3eac4d
-\fIcertmonger\fR's rekeying feature if the SCEP server advertises support for
3eac4d
-it.  This option forces the \fIscep-submit\fR helper to prefer to issue
3eac4d
-requests which do not make use of this feature.
3eac4d
-.TP
3eac4d
 \fB-v\fR
3eac4d
 Increases the logging level.  Use twice for more logging.  This option
3eac4d
 is mainly useful for troubleshooting.
3eac4d
diff --git a/src/certmonger.conf.5.in b/src/certmonger.conf.5.in
20746d
index 241f48b..e1220f1 100644
3eac4d
--- a/src/certmonger.conf.5.in
3eac4d
+++ b/src/certmonger.conf.5.in
3eac4d
@@ -72,25 +72,6 @@ These are the trust attributes which are applied to certificates which are not
3eac4d
 necessarily to be trusted, when they are saved to NSS databases.  The default
3eac4d
 is \fI,,\fP.
3eac4d
 
3eac4d
-.IP max_key_use_count
3eac4d
-When attempting to replace a certificate, if \fIcertmonger\fR has previously
3eac4d
-obtained at least this number of certificates using the current key pair, it
3eac4d
-will generate a new key pair to use before proceeding.  There is effectively no
3eac4d
-default for this setting.
3eac4d
-
3eac4d
-.IP max_key_lifetime
3eac4d
-The amount of time after a key was first generated when \fIcertmonger\fR will
3eac4d
-attempt to generate a new key pair to replace it, as part of the process of
3eac4d
-replacing a certificate.
3eac4d
-The value is specified as a combination of years (y), months (M), weeks (w),
3eac4d
-days (d), hours (h), minutes (m), and/or seconds (s).  If no unit of time is
3eac4d
-specified, seconds are assumed.
3eac4d
-The date when a key was generated is not recorded if the key was not generated
3eac4d
-by \fIcertmonger\fR, or if the key was generated with a version of
3eac4d
-\fIcertmonger\fR older than 0.78, and for those cases, this option has no
3eac4d
-effect.
3eac4d
-There is effectively no default for this setting.
3eac4d
-
3eac4d
 .SH SELFSIGN
3eac4d
 Within the \fIselfsign\fR section, these variables and values are recognized:
3eac4d
 
3eac4d
diff --git a/src/getcert-add-scep-ca.1.in b/src/getcert-add-scep-ca.1.in
20746d
index f07b900..64f0f5e 100644
3eac4d
--- a/src/getcert-add-scep-ca.1.in
3eac4d
+++ b/src/getcert-add-scep-ca.1.in
3eac4d
@@ -46,14 +46,6 @@ A CA identifier value which will passed to the server when the
3eac4d
 \fIscep-submit\fR helper is used to retrieve copies of the server's
3eac4d
 certificates.
3eac4d
 .TP
3eac4d
-\fB\-n\fR
3eac4d
-The SCEP Renewal feature allows a client with a previously-issued certificate
3eac4d
-to use that certificate and the associated private key to request a new
3eac4d
-certificate for a different key pair, and can be used to support
3eac4d
-\fIcertmonger\fR's rekeying feature if the SCEP server advertises support for
3eac4d
-it.  This option forces the \fIscep-submit\fR helper to issue requests without
3eac4d
-making use of this feature.
3eac4d
-.TP
3eac4d
 \fB\-v\fR
3eac4d
 Be verbose about errors.  Normally, the details of an error received from
3eac4d
 the daemon will be suppressed if the client can make a diagnostic suggestion.
3eac4d
diff --git a/src/getcert.c b/src/getcert.c
20746d
index 26a88f3..966ff41 100644
3eac4d
--- a/src/getcert.c
3eac4d
+++ b/src/getcert.c
20746d
@@ -4663,7 +4663,6 @@ static struct {
3eac4d
 	{"start-tracking", start_tracking},
3eac4d
 	{"stop-tracking", stop_tracking},
3eac4d
 	{"resubmit", resubmit},
3eac4d
-	{"rekey", rekey},
3eac4d
 	{"refresh", refresh},
3eac4d
 	{"list", list},
3eac4d
 	{"status", status},
20746d
@@ -5087,8 +5086,6 @@ help(const char *twopartcmd, const char *category)
3eac4d
 		 N_("stop monitoring a certificate\n")},
3eac4d
 		{"resubmit", resubmit_help,
3eac4d
 		 N_("resubmit an in-progress enrollment request, or start a new one\n")},
3eac4d
-		{"rekey", rekey_help,
3eac4d
-		 N_("generate a new private key and replace a certificate\n")},
3eac4d
 		{"refresh", refresh_help,
3eac4d
 		 N_("check on the status of an in-progress enrollment request\n")},
3eac4d
 		{"list", list_help,
3eac4d
diff --git a/src/prefs.c b/src/prefs.c
20746d
index ab363bb..0a8e166 100644
3eac4d
--- a/src/prefs.c
3eac4d
+++ b/src/prefs.c
3eac4d
@@ -545,36 +545,11 @@ cm_prefs_nss_other_trust(void)
3eac4d
 long long
3eac4d
 prefs_key_end_of_life(time_t ref)
3eac4d
 {
3eac4d
-	const char *cfg;
3eac4d
-	time_t tmp;
3eac4d
-
3eac4d
-	tmp = -1;
3eac4d
-	cfg = cm_prefs_config(NULL, "max_key_lifetime");
3eac4d
-	if (cfg != NULL) {
3eac4d
-		if (cm_submit_u_delta_from_string(cfg, ref, &tmp) == 0) {
3eac4d
-			return tmp;
3eac4d
-		}
3eac4d
-	}
3eac4d
 	return -1;
3eac4d
 }
3eac4d
 
3eac4d
 long
3eac4d
 prefs_max_key_use_count(void)
3eac4d
 {
3eac4d
-	static long count = -2;
3eac4d
-	long tmp;
3eac4d
-	const char *cfg;
3eac4d
-	char *p;
3eac4d
-
3eac4d
-	if (count == -2) {
3eac4d
-		count = -1;
3eac4d
-		cfg = cm_prefs_config(NULL, "max_key_use_count");
3eac4d
-		if (cfg != NULL) {
3eac4d
-			tmp = strtol(cfg, &p, 10);
3eac4d
-			if ((p != NULL) && (*p == '\0')) {
3eac4d
-				count = tmp;
3eac4d
-			}
3eac4d
-		}
3eac4d
-	}
3eac4d
-	return count;
3eac4d
+	return -1;
3eac4d
 }
3eac4d
diff --git a/src/scep.c b/src/scep.c
20746d
index d3bbc05..11f9ae3 100644
3eac4d
--- a/src/scep.c
3eac4d
+++ b/src/scep.c
3eac4d
@@ -231,7 +231,6 @@ main(int argc, const char **argv)
3eac4d
 		{"racert", 'r', POPT_ARG_STRING, NULL, 'r', "the RA certificate, used for encrypting requests", "FILENAME"},
3eac4d
 		{"cacert", 'R', POPT_ARG_STRING, NULL, 'R', "the CA certificate, used for verifying responses", "FILENAME"},
3eac4d
 		{"other-certs", 'I', POPT_ARG_STRING, NULL, 'I', "additional certificates", "FILENAME"},
3eac4d
-		{"non-renewal", 'n', POPT_ARG_NONE, &prefer_non_renewal, 0, "prefer to not use the SCEP Renewal feature", NULL},
3eac4d
 		{"verbose", 'v', POPT_ARG_NONE, NULL, 'v', NULL, NULL},
3eac4d
 		POPT_AUTOHELP
3eac4d
 		POPT_TABLEEND
3eac4d
@@ -255,8 +254,6 @@ main(int argc, const char **argv)
3eac4d
 			message = getenv(CM_SUBMIT_SCEP_PKCSREQ_REKEY_ENV);
3eac4d
 			if (message == NULL) {
3eac4d
 				message = getenv(CM_SUBMIT_SCEP_PKCSREQ_ENV);
3eac4d
-			} else {
3eac4d
-				rekey_message = getenv(CM_SUBMIT_SCEP_PKCSREQ_ENV);
3eac4d
 			}
3eac4d
 		} else
3eac4d
 		if (strcasecmp(mode, CM_OP_POLL) == 0) {
3eac4d
@@ -264,8 +261,6 @@ main(int argc, const char **argv)
3eac4d
 			message = getenv(CM_SUBMIT_SCEP_PKCSREQ_REKEY_ENV);
3eac4d
 			if (message == NULL) {
3eac4d
 				message = getenv(CM_SUBMIT_SCEP_PKCSREQ_ENV);
3eac4d
-			} else {
3eac4d
-				rekey_message = getenv(CM_SUBMIT_SCEP_PKCSREQ_ENV);
3eac4d
 			}
3eac4d
 		} else
3eac4d
 		if (strcasecmp(mode, CM_OP_FETCH_SCEP_CA_CERTS) == 0) {
3eac4d
diff --git a/src/submit-e.c b/src/submit-e.c
20746d
index befd01e..af05efe 100644
3eac4d
--- a/src/submit-e.c
3eac4d
+++ b/src/submit-e.c
3eac4d
@@ -446,12 +446,6 @@ cm_submit_e_need_scep_messages(struct cm_submit_state *state)
3eac4d
 static int
3eac4d
 cm_submit_e_need_rekey(struct cm_submit_state *state)
3eac4d
 {
3eac4d
-	int status;
3eac4d
-	status = cm_subproc_get_exitstatus(state->subproc);
3eac4d
-	if (WIFEXITED(status) &&
3eac4d
-	    (WEXITSTATUS(status) == CM_SUBMIT_STATUS_NEED_REKEY)) {
3eac4d
-		return 0;
3eac4d
-	}
3eac4d
 	return -1;
3eac4d
 }
3eac4d
 
3eac4d
diff --git a/src/tdbush.c b/src/tdbush.c
20746d
index 7fb3d16..04fe57e 100644
3eac4d
--- a/src/tdbush.c
3eac4d
+++ b/src/tdbush.c
20746d
@@ -7164,14 +7164,6 @@ cm_tdbush_iface_request(void)
20746d
 										     cm_tdbush_method_arg_out,
3eac4d
 										     NULL))),
3eac4d
 								     NULL),
20746d
-				     make_interface_item(cm_tdbush_interface_method,
3eac4d
-							 make_method("rekey",
3eac4d
-								     request_rekey,
3eac4d
-								     make_method_arg("working",
3eac4d
-										     DBUS_TYPE_BOOLEAN_AS_STRING,
3eac4d
-										     cm_tdbush_method_arg_out,
3eac4d
-										     NULL),
3eac4d
-								     NULL),
20746d
 				     make_interface_item(cm_tdbush_interface_method,
3eac4d
 							 make_method("resubmit",
3eac4d
 								     request_resubmit,
20746d
@@ -7227,7 +7219,7 @@ cm_tdbush_iface_request(void)
3eac4d
 				     make_interface_item(cm_tdbush_interface_signal,
3eac4d
 							 make_signal(CM_DBUS_SIGNAL_REQUEST_CERT_SAVED,
3eac4d
 								     NULL),
20746d
-							 NULL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
20746d
+							 NULL))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
3eac4d
 	}
3eac4d
 	return ret;
3eac4d
 }
3eac4d
diff --git a/tests/010-iterate/expected.out b/tests/010-iterate/expected.out
20746d
index bd57a01..85d07b3 100644
3eac4d
--- a/tests/010-iterate/expected.out
3eac4d
+++ b/tests/010-iterate/expected.out
3eac4d
@@ -398,19 +398,15 @@ HAVE_CSR
3eac4d
 -START-
3eac4d
 NEED_TO_SUBMIT
3eac4d
 SUBMITTING
3eac4d
-NEED_KEY_PAIR
3eac4d
+NEED_GUIDANCE
3eac4d
 -STOP-
3eac4d
-NEED_KEY_PAIR
3eac4d
+NEED_GUIDANCE
3eac4d
 -START-
3eac4d
-GENERATING_KEY_PAIR
3eac4d
-HAVE_KEY_PAIR
3eac4d
-NEED_KEYINFO
3eac4d
+NEED_GUIDANCE
3eac4d
 -STOP-
3eac4d
-NEED_KEYINFO
3eac4d
+NEED_GUIDANCE
3eac4d
 -START-
3eac4d
-READING_KEYINFO
3eac4d
-HAVE_KEYINFO
3eac4d
-NEED_CSR
3eac4d
+NEED_GUIDANCE
3eac4d
 -STOP-
3eac4d
 
3eac4d
 [Enroll until we notice we have no specified CA.]
3eac4d
diff --git a/tests/028-dbus/expected.out b/tests/028-dbus/expected.out
20746d
index 8a81a7f..4c33e9a 100644
3eac4d
--- a/tests/028-dbus/expected.out
3eac4d
+++ b/tests/028-dbus/expected.out
20746d
@@ -404,9 +404,6 @@ OK
3eac4d
    <arg name="status" type="b" direction="out"/>
3eac4d
    <arg name="path" type="o" direction="out"/>
3eac4d
   </method>
3eac4d
-  <method name="rekey">
3eac4d
-   <arg name="working" type="b" direction="out"/>
3eac4d
-  </method>
3eac4d
   <method name="resubmit">
3eac4d
    <arg name="working" type="b" direction="out"/>
3eac4d
   </method>
20746d
@@ -484,9 +481,6 @@ recently
3eac4d
 1 on /org/fedorahosted/certmonger/requests/Request2
3eac4d
 After setting template-eku to 1.2.3.4.5.6.7.8.9.10, we got dbus.Array([dbus.String(u'1.2.3.4.5.6.7.8.9.10')], signature=dbus.Signature('s'), variant_level=1)
3eac4d
 
3eac4d
-[ /org/fedorahosted/certmonger/requests/Request2: org.fedorahosted.certmonger.request.rekey ]
3eac4d
-1
3eac4d
-
3eac4d
 [ /org/fedorahosted/certmonger/requests/Request2: org.fedorahosted.certmonger.request.resubmit ]
3eac4d
 1
3eac4d
 
3eac4d
diff --git a/tests/036-getcert/expected.out b/tests/036-getcert/expected.out
20746d
index c1a13c8..b6d1eaf 100644
3eac4d
--- a/tests/036-getcert/expected.out
3eac4d
+++ b/tests/036-getcert/expected.out
3eac4d
@@ -11,20 +11,21 @@ certs:1
3eac4d
 keys:1
3eac4d
 -----BEGIN PRIVATE KEY-----
3eac4d
 [Files, rekey]
3eac4d
-Resubmitting "first" to "local".
3eac4d
 certs:1
3eac4d
 -----BEGIN CERTIFICATE-----
3eac4d
 keys:1
3eac4d
 -----BEGIN PRIVATE KEY-----
3eac4d
+ERROR: keys were not changed on rekey
3eac4d
+ERROR: cert was not changed on rekey
3eac4d
 [Files, rekey with preserve=1]
3eac4d
-Resubmitting "first" to "local".
3eac4d
 certs:1
3eac4d
 -----BEGIN CERTIFICATE-----
3eac4d
-keys:2
3eac4d
------BEGIN PRIVATE KEY-----
3eac4d
+keys:1
3eac4d
 -----BEGIN PRIVATE KEY-----
3eac4d
+ERROR: keys were not changed on rekey
3eac4d
+ERROR: cert was not changed on rekey
3eac4d
+ERROR: old keys were not saved on rekey
3eac4d
 [Files, rekey with jerk CA]
3eac4d
-Resubmitting "first" to "jerkca".
3eac4d
 certs:1
3eac4d
 -----BEGIN CERTIFICATE-----
3eac4d
 keys:1
3eac4d
@@ -44,30 +45,31 @@ pk12util: PKCS12 EXPORT SUCCESSFUL
3eac4d
 cert:1
3eac4d
 key:1
3eac4d
 [Database, rekey]
3eac4d
-Resubmitting "first" to "local".
3eac4d
 certs:1
3eac4d
 keys:1
3eac4d
 pk12util: PKCS12 EXPORT SUCCESSFUL
3eac4d
 cert:1
3eac4d
 key:1
3eac4d
+ERROR: keys were not changed on rekey
3eac4d
+ERROR: cert was not changed on rekey
3eac4d
 [Database, rekey with preserve=1]
3eac4d
-Resubmitting "first" to "local".
3eac4d
 certs:1
3eac4d
-keys:2
3eac4d
+keys:1
3eac4d
 pk12util: PKCS12 EXPORT SUCCESSFUL
3eac4d
 cert:1
3eac4d
 key:1
3eac4d
+ERROR: keys were not changed on rekey
3eac4d
+ERROR: cert was not changed on rekey
3eac4d
+ERROR: old keys were not saved on rekey
3eac4d
 [Database, rekey with jerk CA]
3eac4d
-Resubmitting "first" to "jerkca".
3eac4d
 certs:1
3eac4d
-keys:3
3eac4d
+keys:1
3eac4d
 pk12util: PKCS12 EXPORT SUCCESSFUL
3eac4d
 cert:1
3eac4d
 key:1
3eac4d
 [Database, rekey with jerk CA, nonpreserving]
3eac4d
-Resubmitting "first" to "jerkca".
3eac4d
 certs:1
3eac4d
-keys:3
3eac4d
+keys:1
3eac4d
 pk12util: PKCS12 EXPORT SUCCESSFUL
3eac4d
 cert:1
3eac4d
 key:1
3eac4d
diff --git a/tests/037-rekey2/expected.out b/tests/037-rekey2/expected.out
20746d
index bd8cca7..62a1c74 100644
3eac4d
--- a/tests/037-rekey2/expected.out
3eac4d
+++ b/tests/037-rekey2/expected.out
3eac4d
@@ -112,7 +112,7 @@ MONITORING
3eac4d
 -STOP-
3eac4d
 MONITORING
3eac4d
 -START-
3eac4d
-NEED_KEY_PAIR
3eac4d
+NEED_CSR
3eac4d
 -STOP-
3eac4d
 [Uses = 2.]
3eac4d
 NEED_KEY_PAIR
3eac4d
@@ -228,6 +228,6 @@ MONITORING
3eac4d
 -STOP-
3eac4d
 MONITORING
3eac4d
 -START-
3eac4d
-NEED_KEY_PAIR
3eac4d
+NEED_CSR
3eac4d
 -STOP-
3eac4d
 Test complete.
3eac4d
-- 
20746d
2.14.4
3eac4d