@@ -259,11 +259,11 @@ def __init__(
259259 self .source = None
260260 if isinstance (keys , dict ):
261261 if "keys" in keys :
262- self .do_keys (keys ["keys" ])
262+ self ._do_keys (keys ["keys" ])
263263 else :
264- self .do_keys ([keys ])
264+ self ._do_keys ([keys ])
265265 else :
266- self .do_keys (keys )
266+ self ._do_keys (keys )
267267 else :
268268 self ._set_source (source , fileformat )
269269 if self .local :
@@ -290,9 +290,9 @@ def _set_source(self, source, fileformat):
290290
291291 def _do_local (self , kid ):
292292 if self .fileformat in ["jwks" , "jwk" ]:
293- self .do_local_jwk (self .source )
293+ self ._do_local_jwk (self .source )
294294 elif self .fileformat == "der" :
295- self .do_local_der (self .source , self .keytype , self .keyusage , kid )
295+ self ._do_local_der (self .source , self .keytype , self .keyusage , kid )
296296
297297 def _local_update_required (self ) -> bool :
298298 stat = os .stat (self .source )
@@ -304,7 +304,11 @@ def _local_update_required(self) -> bool:
304304 self .last_local = stat .st_mtime
305305 return True
306306
307+ @keys_writer
307308 def do_keys (self , keys ):
309+ return self ._do_keys (keys )
310+
311+ def _do_keys (self , keys ):
308312 """
309313 Go from JWK description to binary keys
310314
@@ -366,7 +370,7 @@ def do_keys(self, keys):
366370
367371 self .last_updated = time .time ()
368372
369- def do_local_jwk (self , filename ):
373+ def _do_local_jwk (self , filename ):
370374 """
371375 Load a JWKS from a local file
372376
@@ -380,14 +384,14 @@ def do_local_jwk(self, filename):
380384 with open (filename ) as input_file :
381385 _info = json .load (input_file )
382386 if "keys" in _info :
383- self .do_keys (_info ["keys" ])
387+ self ._do_keys (_info ["keys" ])
384388 else :
385- self .do_keys ([_info ])
389+ self ._do_keys ([_info ])
386390 self .last_local = time .time ()
387391 self .time_out = self .last_local + self .cache_time
388392 return True
389393
390- def do_local_der (self , filename , keytype , keyusage = None , kid = "" ):
394+ def _do_local_der (self , filename , keytype , keyusage = None , kid = "" ):
391395 """
392396 Load a DER encoded file amd create a key from it.
393397
@@ -418,7 +422,7 @@ def do_local_der(self, filename, keytype, keyusage=None, kid=""):
418422 if kid :
419423 key_args ["kid" ] = kid
420424
421- self .do_keys ([key_args ])
425+ self ._do_keys ([key_args ])
422426 self .last_local = time .time ()
423427 self .time_out = self .last_local + self .cache_time
424428 return True
@@ -465,7 +469,7 @@ def do_remote(self):
465469
466470 LOGGER .debug ("Loaded JWKS: %s from %s" , _http_resp .text , self .source )
467471 try :
468- self .do_keys (self .imp_jwks ["keys" ])
472+ self ._do_keys (self .imp_jwks ["keys" ])
469473 except KeyError :
470474 LOGGER .error ("No 'keys' keyword in JWKS" )
471475 self .ignore_errors_until = time .time () + self .ignore_errors_period
@@ -538,9 +542,9 @@ def update(self):
538542 try :
539543 if self .local :
540544 if self .fileformat in ["jwks" , "jwk" ]:
541- updated = self .do_local_jwk (self .source )
545+ updated = self ._do_local_jwk (self .source )
542546 elif self .fileformat == "der" :
543- updated = self .do_local_der (self .source , self .keytype , self .keyusage )
547+ updated = self ._do_local_der (self .source , self .keytype , self .keyusage )
544548 elif self .remote :
545549 updated = self .do_remote ()
546550 except Exception as err :
@@ -840,7 +844,7 @@ def load(self, spec):
840844 """
841845 _keys = spec .get ("keys" , [])
842846 if _keys :
843- self .do_keys (_keys )
847+ self ._do_keys (_keys )
844848
845849 for attr , default in self .params .items ():
846850 val = spec .get (attr )
0 commit comments