AV-98-fork

A fork of https://tildegit.org/solderpunk/AV-98
Log (Feed) | Files | Refs (Tags) | README | LICENSE

commit ca1a0a62e6af6a49d61c46e6946ed34345ba4c1c
parent 68e55d245a0810852d862f8482603418600c764d
Author: Solderpunk <solderpunk@sdf.org>
Date:   Sun, 17 May 2020 18:35:35 +0200

Cache certificates to disk in the expectation of more advanced cert wrangling in future.

Diffstat:
Mav98.py | 12++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/av98.py b/av98.py @@ -684,6 +684,9 @@ Slow internet connection? Use 'set timeout' to be more patient.""") VALUES (?, ?, ?, ?, ?, ?)""", (host, address, fingerprint, now, now, 1)) self.db_conn.commit() + certdir = os.path.join(self.config_dir, "cert_cache") + with open(os.path.join(certdir, fingerprint+".crt"), "wb") as fp: + fp.write(cert) else: raise Exception("TOFU Failure!") @@ -694,6 +697,11 @@ Slow internet connection? Use 'set timeout' to be more patient.""") VALUES (?, ?, ?, ?, ?, ?)""", (host, address, fingerprint, now, now, 1)) self.db_conn.commit() + certdir = os.path.join(self.config_dir, "cert_cache") + if not os.path.exists(certdir): + os.makedirs(certdir) + with open(os.path.join(certdir, fingerprint+".crt"), "wb") as fp: + fp.write(cert) def _get_handler_cmd(self, mimetype): # Now look for a handler for this mimetype @@ -834,7 +842,7 @@ Slow internet connection? Use 'set timeout' to be more patient.""") if not name.strip(): print("Aborting.") return - certdir = os.path.join(self.config_dir, "certs") + certdir = os.path.join(self.config_dir, "client_certs") self._generate_client_cert(self, certdir, name) def _generate_client_cert(self, certdir, basename, transient=False): @@ -849,7 +857,7 @@ Slow internet connection? Use 'set timeout' to be more patient.""") self._activate_client_cert(certfile, keyfile) def _choose_client_cert(self): - certdir = os.path.join(self.config_dir, "certs") + certdir = os.path.join(self.config_dir, "client_certs") certs = glob.glob(os.path.join(certdir, "*.crt")) certdir = {} for n, cert in enumerate(certs):