Skip to content

Commit a4e81bc

Browse files
authored
HKDF extract public API (#4861)
Update HKDF extraction method to use public API if available.
1 parent 4296eee commit a4e81bc

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

scapy/layers/tls/crypto/hkdf.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,14 @@ def __init__(self, hash_name="sha256"):
2727
@crypto_validator
2828
def extract(self, salt, ikm):
2929
h = self.hash
30-
hkdf = HKDF(h, h.digest_size, salt, None, default_backend())
3130
if ikm is None:
3231
ikm = b"\x00" * h.digest_size
33-
return hkdf._extract(ikm)
32+
# cryptography 47.0.0 added this as a public API
33+
if getattr(HKDF, "extract", None) is not None:
34+
return HKDF.extract(h, salt, ikm)
35+
else:
36+
hkdf = HKDF(h, h.digest_size, salt, None, default_backend())
37+
return hkdf._extract(ikm)
3438

3539
@crypto_validator
3640
def expand(self, prk, info, L):

0 commit comments

Comments
 (0)