mirror of
https://github.com/certbot/certbot.git
synced 2026-08-02 16:12:09 +02:00
Refuse to update valid lineages with staging certs
This commit is contained in:
+17
-1
@@ -366,6 +366,8 @@ def _auth_from_domains(le_client, config, domains):
|
|||||||
# it without getting a new certificate at all.
|
# it without getting a new certificate at all.
|
||||||
return lineage
|
return lineage
|
||||||
elif action == "renew":
|
elif action == "renew":
|
||||||
|
orginal_server = lineage.configuration["renewalparams"]["server"]
|
||||||
|
_avoid_invalidating_lineage(config, lineage, original_server)
|
||||||
# TODO: schoen wishes to reuse key - discussion
|
# TODO: schoen wishes to reuse key - discussion
|
||||||
# https://github.com/letsencrypt/letsencrypt/pull/777/files#r40498574
|
# https://github.com/letsencrypt/letsencrypt/pull/777/files#r40498574
|
||||||
new_certr, new_chain, new_key, _ = le_client.obtain_certificate(domains)
|
new_certr, new_chain, new_key, _ = le_client.obtain_certificate(domains)
|
||||||
@@ -389,6 +391,17 @@ def _auth_from_domains(le_client, config, domains):
|
|||||||
|
|
||||||
return lineage
|
return lineage
|
||||||
|
|
||||||
|
def _avoid_invalidating_lineage(config, lineage, original_server):
|
||||||
|
"Do not renew a valid cert with one from a staging server!"
|
||||||
|
def is_staging(srv):
|
||||||
|
return (srv == constants.STAGING_URI or "staging" in srv)
|
||||||
|
|
||||||
|
if is_staging(config.server) and not is_staging(original_server):
|
||||||
|
if not config.break_my_certs:
|
||||||
|
raise errors.Error(
|
||||||
|
"You're trying to renew/replace a valid certificiate with "
|
||||||
|
"a test certificate. We will not do that unless you use the "
|
||||||
|
"--break-my-certs flag!")
|
||||||
|
|
||||||
def set_configurator(previously, now):
|
def set_configurator(previously, now):
|
||||||
"""
|
"""
|
||||||
@@ -959,7 +972,10 @@ def prepare_and_parse_args(plugins, args):
|
|||||||
helpful.add(
|
helpful.add(
|
||||||
"testing", "--http-01-port", type=int, dest="http01_port",
|
"testing", "--http-01-port", type=int, dest="http01_port",
|
||||||
default=flag_default("http01_port"), help=config_help("http01_port"))
|
default=flag_default("http01_port"), help=config_help("http01_port"))
|
||||||
|
helpful.add(
|
||||||
|
"testing", "--break-my-certs", action="store_true",
|
||||||
|
help="Be willing to replace or renew valid certs with invalid "
|
||||||
|
"(testing/staging) certs")
|
||||||
helpful.add_group(
|
helpful.add_group(
|
||||||
"security", description="Security parameters & server settings")
|
"security", description="Security parameters & server settings")
|
||||||
helpful.add(
|
helpful.add(
|
||||||
|
|||||||
Reference in New Issue
Block a user