MCPcopy Create free account
hub / github.com/authlib/authlib / unwrap

Method unwrap

authlib/jose/drafts/_jwe_algorithms.py:183–203  ·  view source on GitHub ↗
(self, enc_alg, ek, headers, key, sender_key, tag=None)

Source from the content-addressed store, hash-verified

181 return {"ek": b"", "cek": dk, "header": h}
182
183 def unwrap(self, enc_alg, ek, headers, key, sender_key, tag=None):
184 if "epk" not in headers:
185 raise ValueError('Missing "epk" in headers')
186
187 if self.key_size is None:
188 bit_size = enc_alg.CEK_SIZE
189 else:
190 bit_size = self.key_size
191
192 sender_pubkey = sender_key.get_op_key("wrapKey")
193 epk = key.import_key(headers["epk"])
194 epk_pubkey = epk.get_op_key("wrapKey")
195 dk = self.deliver_at_recipient(
196 key, sender_pubkey, epk_pubkey, headers, bit_size, tag
197 )
198
199 if self.key_size is None:
200 return dk
201
202 kek = self.aeskw.prepare_key(dk)
203 return self.aeskw.unwrap(enc_alg, ek, headers, kek)
204
205
206JWE_DRAFT_ALG_ALGORITHMS = [

Callers

nothing calls this directly

Calls 4

deliver_at_recipientMethod · 0.95
get_op_keyMethod · 0.45
import_keyMethod · 0.45
prepare_keyMethod · 0.45

Tested by

no test coverage detected