From f73a010925338f149410172c33df113947c371fc Mon Sep 17 00:00:00 2001 From: Folker Bernitt Date: Mon, 30 Mar 2015 13:18:02 +0200 Subject: Auto refresh provider certificate on start. - Issue #333 --- service/pixelated/bitmask_libraries/certs.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'service/pixelated/bitmask_libraries/certs.py') diff --git a/service/pixelated/bitmask_libraries/certs.py b/service/pixelated/bitmask_libraries/certs.py index bafc809d..6b12bce4 100644 --- a/service/pixelated/bitmask_libraries/certs.py +++ b/service/pixelated/bitmask_libraries/certs.py @@ -36,6 +36,10 @@ def which_bootstrap_bundle(provider): return str(LeapCertificate(provider).auto_detect_bootstrap_ca_bundle()) +def refresh_ca_bundle(provider): + LeapCertificate(provider).refresh_ca_bundle() + + class LeapCertificate(object): def __init__(self, provider): self._config = provider.config @@ -57,14 +61,21 @@ class LeapCertificate(object): if self._provider.config.ca_cert_bundle: return self._provider.config.ca_cert_bundle - certs_root = self._provider_certs_root_path() - cert_file = os.path.join(certs_root, 'provider.pem') + cert_file = self._provider_cert_file() if not os.path.isfile(cert_file): self._download_server_cert(cert_file) return cert_file + def refresh_ca_bundle(self): + cert_file = self._provider_cert_file() + self._download_server_cert(cert_file) + + def _provider_cert_file(self): + certs_root = self._provider_certs_root_path() + return os.path.join(certs_root, 'provider.pem') + def _provider_certs_root_path(self): path = os.path.join(self._provider.config.leap_home, 'providers', self._server_name, 'keys', 'client') if not os.path.isdir(path): -- cgit v1.2.3