@@ -152,7 +152,7 @@ class KeyBundle:
152152
153153 def __init__ (self , keys = None , source = "" , cache_time = 300 , verify_ssl = True ,
154154 fileformat = "jwks" , keytype = "RSA" , keyusage = None , kid = '' ,
155- httpc = None ):
155+ httpc = None , httpc_params = None ):
156156 """
157157 Contains a set of keys that have a common origin.
158158 The sources can be serveral:
@@ -171,6 +171,8 @@ def __init__(self, keys=None, source="", cache_time=300, verify_ssl=True,
171171 :param keyusage: What the key loaded from file should be used for.
172172 Only applicable for DER files
173173 :param httpc: A HTTP client function
174+ :param httpc_params: Additional parameters to pass to the HTTP client
175+ function
174176 """
175177
176178 self ._keys = []
@@ -193,6 +195,7 @@ def __init__(self, keys=None, source="", cache_time=300, verify_ssl=True,
193195 else :
194196 self .httpc = requests .request
195197 self .verify_ssl = verify_ssl
198+ self .httpc_params = httpc_params or {}
196199
197200 if keys :
198201 self .source = None
@@ -314,13 +317,11 @@ def do_remote(self):
314317 :return: True or False if load was successful
315318 """
316319 if self .verify_ssl is not None :
317- args = {"verify" : self .verify_ssl }
318- else :
319- args = {}
320+ self .httpc_params ["verify" ] = self .verify_ssl
320321
321322 try :
322323 LOGGER .debug ('KeyBundle fetch keys from: %s' , self .source )
323- _http_resp = self .httpc ('GET' , self .source , ** args )
324+ _http_resp = self .httpc ('GET' , self .source , ** self . httpc_params )
324325 except Exception as err :
325326 LOGGER .error (err )
326327 raise UpdateFailed (
0 commit comments