From f863d9b81a9634cfb6941c06283d4a1f82b84e0a Mon Sep 17 00:00:00 2001 From: Massimiliano Adamo <maxadamo@gmail.com> Date: Tue, 21 Jan 2025 21:25:25 +0100 Subject: [PATCH] update provider options to include Harica provider --- wile_coyote/acme/nomad_uploader.py | 3 +-- wile_coyote/acme/uploader.py | 2 +- wile_coyote/acme/wildcard_uploader.py | 2 +- wile_coyote/bin/cert2json | 11 ++++++----- wile_coyote/common/combine.py | 4 ++++ wile_coyote/tools/__init__.py | 2 ++ 6 files changed, 15 insertions(+), 9 deletions(-) diff --git a/wile_coyote/acme/nomad_uploader.py b/wile_coyote/acme/nomad_uploader.py index b63ac71..823fdf6 100644 --- a/wile_coyote/acme/nomad_uploader.py +++ b/wile_coyote/acme/nomad_uploader.py @@ -1,13 +1,12 @@ """Nomad Uploader Options: - provider = ACME Provider (sectigo_ev, sectigo_ov, letsencrypt) + provider = ACME Provider (harica_dv, harica_ov, sectigo_ev, sectigo_ov, letsencrypt) domain = Certificate name project = Nomad Project nomad_env = staging nomad_env wildcard = Wildcard (Bool) """ - import os import tempfile import wile_coyote.tools diff --git a/wile_coyote/acme/uploader.py b/wile_coyote/acme/uploader.py index b30d7d7..adf05b9 100644 --- a/wile_coyote/acme/uploader.py +++ b/wile_coyote/acme/uploader.py @@ -1,7 +1,7 @@ """Certificates Uploader Options: - provider = ACME Provider (sectigo_ev, sectigo_ov, letsencrypt) + provider = ACME Provider (harica_dv, harica_ov, sectigo_ev, sectigo_ov, letsencrypt) domain = Certificate name client = Client that will access the private key unit = Unit, entity or team diff --git a/wile_coyote/acme/wildcard_uploader.py b/wile_coyote/acme/wildcard_uploader.py index c879706..0f99cc6 100644 --- a/wile_coyote/acme/wildcard_uploader.py +++ b/wile_coyote/acme/wildcard_uploader.py @@ -1,7 +1,7 @@ """Wildcard Uploader Options: - provider = ACME Provider (sectigo_ev, sectigo_ov, letsencrypt) + provider = ACME Provider (harica_dv, harica_ov, sectigo_ev, sectigo_ov, letsencrypt) domain = Certificate name """ diff --git a/wile_coyote/bin/cert2json b/wile_coyote/bin/cert2json index 06d7c33..b115294 100755 --- a/wile_coyote/bin/cert2json +++ b/wile_coyote/bin/cert2json @@ -8,7 +8,7 @@ Usage: Options: -h --help Show this screen - -p PROVIDER --provider=PROVIDER Provider [sectigo_ev | sectigo_ov | letsencrypt| all] + -p PROVIDER --provider=PROVIDER Provider [harica_dv | harica_ov| sectigo_ev | sectigo_ov | letsencrypt| all] """ import json import os @@ -24,13 +24,15 @@ import wile_coyote.tools PROCESSES = 6 WEB_BASE = REDIS_HOST = wile_coyote.tools.WEB_BASE +ACME_PROVIDERS = wile_coyote.tools.ACME_PROVIDERS +ALL_PROVIDERS = ACME_PROVIDERS.append("all") ARGS = docopt(__doc__) PROVIDER = ARGS['--provider'] -if PROVIDER not in ["letsencrypt", "sectigo_ov", "sectigo_ev", "all"]: - print("valid providers are: sectigo_ev, sectigo_ov, letsencrypt, and all") +if PROVIDER not in ALL_PROVIDERS: + print(f"valid providers are: {', '.join(ALL_PROVIDERS)}") os.sys.exit() elif PROVIDER == 'all': - PROVIDERS = ["letsencrypt", "sectigo_ov", "sectigo_ev"] + PROVIDERS = ACME_PROVIDERS else: PROVIDERS = [PROVIDER] @@ -79,7 +81,6 @@ if __name__ == "__main__": pool.close() pool.join() - # sort list of dictionaries by value: https://stackoverflow.com/a/73050/3151187 sorted_certname = sorted(cert_list, key=lambda k: k['certname']) sorted_expired = sorted( cert_list, diff --git a/wile_coyote/common/combine.py b/wile_coyote/common/combine.py index ecf8886..e3e9550 100644 --- a/wile_coyote/common/combine.py +++ b/wile_coyote/common/combine.py @@ -20,6 +20,10 @@ def keys(certpath, provider, keypath, outpath): capath = os.path.join(ssl_dir, "COMODO_EV.crt") elif provider == "letsencrypt": capath = os.path.join(ssl_dir, "LE.crt") + elif provider == "harica_dv": + capath = os.path.join(ssl_dir, "HARICA_DV.crt") + elif provider == "harica_ov": + capath = os.path.join(ssl_dir, "HARICA_OV.crt") else: raise NotImplementedError(f"Provider {provider} not supported") diff --git a/wile_coyote/tools/__init__.py b/wile_coyote/tools/__init__.py index e6c3813..be34336 100644 --- a/wile_coyote/tools/__init__.py +++ b/wile_coyote/tools/__init__.py @@ -1,3 +1,5 @@ +""" This module is a package that contains all the tools used by the wile_coyote package. """ + from ast import literal_eval as l_eval import pkgutil import configparser -- GitLab