Skip to content

Commit 87a9908

Browse files
committed
more
1 parent 99a9ce9 commit 87a9908

File tree

1 file changed

+17
-12
lines changed

1 file changed

+17
-12
lines changed

src/cryptojwt/key_bundle.py

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -284,10 +284,10 @@ def _set_source(self, source, fileformat):
284284

285285
def _do_local(self, kid):
286286
if self.fileformat in ["jwks", "jwk"]:
287-
self._do_local_jwk(self.source)
287+
updated, res = self._do_local_jwk(self.source)
288288
elif self.fileformat == "der":
289-
self._do_local_der(self.source, self.keytype, self.keyusage, kid)
290-
return self._keys
289+
updated, res = self._do_local_der(self.source, self.keytype, self.keyusage, kid)
290+
return res
291291

292292
def _local_update_required(self) -> bool:
293293
stat = os.stat(self.source)
@@ -386,18 +386,19 @@ def _do_local_jwk(self, filename):
386386
:return: True if load was successful or False if file hasn't been modified
387387
"""
388388
if not self._local_update_required():
389-
return False
389+
return False, None
390390

391391
LOGGER.info("Reading local JWKS from %s", filename)
392392
with open(filename) as input_file:
393393
_info = json.load(input_file)
394394
if "keys" in _info:
395-
self._add_jwk_dicts(_info["keys"])
395+
res = self.jwk_dicts_as_keys(_info["keys"])
396396
else:
397-
self._add_jwk_dicts([_info])
397+
res = self.jwk_dicts_as_keys([_info])
398+
398399
self.last_local = time.time()
399400
self.time_out = self.last_local + self.cache_time
400-
return True
401+
return True, res
401402

402403
def _do_local_der(self, filename, keytype, keyusage=None, kid=""):
403404
"""
@@ -409,7 +410,7 @@ def _do_local_der(self, filename, keytype, keyusage=None, kid=""):
409410
:return: True if load was successful or False if file hasn't been modified
410411
"""
411412
if not self._local_update_required():
412-
return False
413+
return False, None
413414

414415
LOGGER.info("Reading local DER from %s", filename)
415416
key_args = {}
@@ -430,10 +431,10 @@ def _do_local_der(self, filename, keytype, keyusage=None, kid=""):
430431
if kid:
431432
key_args["kid"] = kid
432433

433-
self._add_jwk_dicts([key_args])
434+
res = self.jwk_dicts_as_keys([key_args])
434435
self.last_local = time.time()
435436
self.time_out = self.last_local + self.cache_time
436-
return True
437+
return True, res
437438

438439
def _do_remote(self):
439440
"""
@@ -553,9 +554,13 @@ def update(self):
553554
try:
554555
if self.local:
555556
if self.fileformat in ["jwks", "jwk"]:
556-
updated = self._do_local_jwk(self.source)
557+
updated, k = self._do_local_jwk(self.source)
558+
if k:
559+
self._keys.extend(k)
557560
elif self.fileformat == "der":
558-
updated = self._do_local_der(self.source, self.keytype, self.keyusage)
561+
updated, k = self._do_local_der(self.source, self.keytype, self.keyusage)
562+
if k:
563+
self._keys.extend(k)
559564
elif self.remote:
560565
updated = self._do_remote()
561566
except Exception as err:

0 commit comments

Comments
 (0)