From 2df5bce9bf49d01a650ea54aa6e71842088b8130 Mon Sep 17 00:00:00 2001 From: Folker Bernitt Date: Wed, 1 Apr 2015 17:45:42 +0200 Subject: Fixed circular dependency when auto detecting provider ca. --- service/pixelated/bitmask_libraries/certs.py | 11 +++++++++-- 1 file changed, 9 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 31e68d1c..6d3c4c2a 100644 --- a/service/pixelated/bitmask_libraries/certs.py +++ b/service/pixelated/bitmask_libraries/certs.py @@ -14,7 +14,8 @@ # You should have received a copy of the GNU Affero General Public License # along with Pixelated. If not, see . import os - +import requests +import json from leap.common import ca_bundle from .config import AUTO_DETECT_CA_BUNDLE @@ -86,7 +87,13 @@ class LeapCertificate(object): def _local_bootstrap_server_cert(self): cert_file = os.path.join(self._certs_home, '%s.ca.crt' % self._server_name) if not os.path.isfile(cert_file): - self._download_server_cert(cert_file) + response = requests.get('https://%s/provider.json' % self._server_name) + provider_data = json.loads(response.content) + ca_cert_uri = str(provider_data['ca_cert_uri']) + + response = requests.get(ca_cert_uri) + with open(cert_file, 'w') as file: + file.write(response.content) return cert_file -- cgit v1.2.3