@@ -80,7 +80,7 @@ def __init__(self, key_jar=None, iss='', lifetime=0,
8080 enc_enc = "A128CBC-HS256" , enc_alg = "RSA1_5" , msg_cls = None ,
8181 iss2msg_cls = None , skew = 15 ,
8282 allowed_sign_algs = None , allowed_enc_algs = None ,
83- allowed_enc_encs = None ):
83+ allowed_enc_encs = None , zip = '' ):
8484 self .key_jar = key_jar # KeyJar instance
8585 self .iss = iss # My identifier
8686 self .lifetime = lifetime # default life time of the signature
@@ -99,6 +99,7 @@ def __init__(self, key_jar=None, iss='', lifetime=0,
9999 self .allowed_sign_algs = allowed_sign_algs
100100 self .allowed_enc_algs = allowed_enc_algs
101101 self .allowed_enc_encs = allowed_enc_encs
102+ self .zip = zip
102103
103104 def receiver_keys (self , recv , use ):
104105 """
@@ -107,7 +108,7 @@ def receiver_keys(self, recv, use):
107108 :param use: What the keys should be usable for
108109 :return: A list of keys.
109110 """
110- return self .key_jar .get (use , owner = recv )
111+ return self .key_jar .get (use , issuer_id = recv )
111112
112113 def receivers (self ):
113114 """Return a list of identifiers.
@@ -117,20 +118,22 @@ def receivers(self):
117118 """
118119 return self .key_jar .owners
119120
120- def my_keys (self , owner_id = '' , use = 'sig' ):
121- _k = self .key_jar .get (use , owner = owner_id )
122- if owner_id != '' :
121+ def my_keys (self , issuer_id = '' , use = 'sig' ):
122+ _k = self .key_jar .get (use , issuer_id = issuer_id )
123+ if issuer_id != '' :
123124 try :
124- _k .extend (self .key_jar .get (use , owner = '' ))
125+ _k .extend (self .key_jar .get (use , issuer_id = '' ))
125126 except KeyError :
126127 pass
127128 return _k
128129
129- def _encrypt (self , payload , recv , cty = 'JWT' ):
130+ def _encrypt (self , payload , recv , cty = 'JWT' , zip = '' ):
130131 kwargs = {"alg" : self .enc_alg , "enc" : self .enc_enc }
131132
132133 if cty :
133134 kwargs ["cty" ] = cty
135+ if zip :
136+ kwargs ['zip' ] = zip
134137
135138 # use the clients public key for encryption
136139 _jwe = JWE (payload , ** kwargs )
@@ -173,28 +176,28 @@ def pack_init(self, recv, aud):
173176
174177 return argv
175178
176- def pack_key (self , owner_id = '' , kid = '' ):
179+ def pack_key (self , issuer_id = '' , kid = '' ):
177180 """
178181 Find a key to be used for signing the Json Web Token
179182
180- :param owner_id : Owner of the keys to chose from
183+ :param issuer_id : Owner of the keys to chose from
181184 :param kid: Key ID
182185 :return: One key
183186 """
184- keys = pick_key (self .my_keys (owner_id , 'sig' ), 'sig' , alg = self .alg ,
187+ keys = pick_key (self .my_keys (issuer_id , 'sig' ), 'sig' , alg = self .alg ,
185188 kid = kid )
186189
187190 if not keys :
188191 raise NoSuitableSigningKeys ('kid={}' .format (kid ))
189192
190193 return keys [0 ] # Might be more then one if kid == ''
191194
192- def pack (self , payload = None , kid = '' , owner = '' , recv = '' , aud = None , ** kwargs ):
195+ def pack (self , payload = None , kid = '' , issuer_id = '' , recv = '' , aud = None , ** kwargs ):
193196 """
194197
195198 :param payload: Information to be carried as payload in the JWT
196199 :param kid: Key ID
197- :param owner : The owner of the the keys that are to be used for signing
200+ :param issuer_id : The owner of the the keys that are to be used for signing
198201 :param recv: The intended immediate receiver
199202 :param aud: Intended audience for this JWS/JWE, not expected to
200203 contain the recipient.
@@ -221,12 +224,12 @@ def pack(self, payload=None, kid='', owner='', recv='', aud=None, **kwargs):
221224
222225 _args ['jti' ] = _jti
223226
224- if not owner and self .iss :
225- owner = self .iss
227+ if not issuer_id and self .iss :
228+ issuer_id = self .iss
226229
227230 if self .sign :
228231 if self .alg != 'none' :
229- _key = self .pack_key (owner , kid )
232+ _key = self .pack_key (issuer_id , kid )
230233 # _args['kid'] = _key.kid
231234 else :
232235 _key = None
@@ -238,9 +241,9 @@ def pack(self, payload=None, kid='', owner='', recv='', aud=None, **kwargs):
238241
239242 if _encrypt :
240243 if not self .sign :
241- return self ._encrypt (_sjwt , recv , cty = 'json' )
244+ return self ._encrypt (_sjwt , recv , cty = 'json' , zip = self . zip )
242245
243- return self ._encrypt (_sjwt , recv )
246+ return self ._encrypt (_sjwt , recv , zip = self . zip )
244247 else :
245248 return _sjwt
246249
0 commit comments