diff --git a/kasa/transports/tpaptransport.py b/kasa/transports/tpaptransport.py index 3a6471417..aa59a5aa3 100644 --- a/kasa/transports/tpaptransport.py +++ b/kasa/transports/tpaptransport.py @@ -394,7 +394,8 @@ def _sec1_to_xy(sec1: bytes, curve: ec.EllipticCurve) -> tuple[int, int]: @staticmethod def _xy_to_uncompressed(x: int, y: int, curve: ec.EllipticCurve) -> bytes: - numbers = ec.EllipticCurvePublicNumbers(x, y, curve) + # ecdsa may return gmpy2.mpz; cryptography requires builtin int. + numbers = ec.EllipticCurvePublicNumbers(int(x), int(y), curve) public_key = numbers.public_key() return public_key.public_bytes( encoding=serialization.Encoding.X962,