|
2 | 2 | from enum import IntEnum
|
3 | 3 |
|
4 | 4 | from types import ModuleType
|
5 |
| -from typing import Optional, TypedDict, NotRequired, Unpack |
| 5 | +from typing import Optional |
6 | 6 |
|
7 | 7 | from .KDF import _HKDF_extract, _HKDF_expand
|
8 | 8 | from .DH import key_agreement, import_x25519_public_key, import_x448_public_key
|
@@ -363,16 +363,12 @@ def unseal(self, ciphertext: bytes, auth_data: Optional[bytes] = None):
|
363 | 363 | return pt
|
364 | 364 |
|
365 | 365 |
|
366 |
| -class RequestParams(TypedDict): |
367 |
| - enc: NotRequired[bytes] |
368 |
| - sender_key: NotRequired[EccKey] |
369 |
| - psk: NotRequired[tuple[bytes, bytes]] |
370 |
| - info: NotRequired[bytes] |
371 |
| - |
372 |
| - |
373 |
| -def new(receiver_key: EccKey, |
| 366 | +def new(*, receiver_key: EccKey, |
374 | 367 | aead_id: AEAD,
|
375 |
| - **kwargs: Unpack[RequestParams]): |
| 368 | + enc: Optional[bytes] = None, |
| 369 | + sender_key: Optional[EccKey] = None, |
| 370 | + psk: Optional[tuple[bytes, bytes]] = None, |
| 371 | + info: bytes = b''): |
376 | 372 | """Create an HPKE context which can be used
|
377 | 373 | by the sender to seal (encrypt) a message
|
378 | 374 | or by the receiver to unseal (decrypt) it.
|
@@ -440,14 +436,6 @@ def new(receiver_key: EccKey,
|
440 | 436 | .. _HPKE: https://datatracker.ietf.org/doc/rfc9180/
|
441 | 437 | """
|
442 | 438 |
|
443 |
| - sender_key = kwargs.pop('sender_key', None) |
444 |
| - psk = kwargs.pop('psk', None) |
445 |
| - info = kwargs.pop('info', b'') |
446 |
| - enc = kwargs.pop('enc', None) |
447 |
| - |
448 |
| - if kwargs: |
449 |
| - raise ValueError(f"Unknown parameters: {list(kwargs.keys())}") |
450 |
| - |
451 | 439 | if aead_id not in AEAD:
|
452 | 440 | raise ValueError(f"Unknown AEAD cipher ID {aead_id:#x}")
|
453 | 441 |
|
|
0 commit comments