(self, enc_alg, ek, headers, key, sender_key, tag=None)
| 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 | |
| 206 | JWE_DRAFT_ALG_ALGORITHMS = [ |
nothing calls this directly
no test coverage detected