(self, enc_alg, headers, key, preset=None)
| 262 | return {"epk": pub_epk} |
| 263 | |
| 264 | def wrap(self, enc_alg, headers, key, preset=None): |
| 265 | if self.key_size is None: |
| 266 | bit_size = enc_alg.CEK_SIZE |
| 267 | else: |
| 268 | bit_size = self.key_size |
| 269 | |
| 270 | if preset and "epk" in preset: |
| 271 | epk = preset["epk"] |
| 272 | h = {} |
| 273 | else: |
| 274 | epk = self._generate_ephemeral_key(key) |
| 275 | h = self._prepare_headers(epk) |
| 276 | |
| 277 | public_key = key.get_op_key("wrapKey") |
| 278 | dk = self.deliver(epk, public_key, headers, bit_size) |
| 279 | |
| 280 | if self.key_size is None: |
| 281 | return {"ek": b"", "cek": dk, "header": h} |
| 282 | |
| 283 | if preset and "cek" in preset: |
| 284 | preset_for_kw = {"cek": preset["cek"]} |
| 285 | else: |
| 286 | preset_for_kw = None |
| 287 | |
| 288 | kek = self.aeskw.prepare_key(dk) |
| 289 | rv = self.aeskw.wrap(enc_alg, headers, kek, preset_for_kw) |
| 290 | rv["header"] = h |
| 291 | return rv |
| 292 | |
| 293 | def unwrap(self, enc_alg, ek, headers, key): |
| 294 | if "epk" not in headers: |
nothing calls this directly
no test coverage detected