From 164efe393309cdccccc0d79405d76f02e087732f Mon Sep 17 00:00:00 2001 From: Spencer Fields <58378262+sgf36@users.noreply.github.com> Date: Mon, 26 Oct 2026 20:49:31 +0000 Subject: [PATCH] Fix cryptography import in MAS auto-submit script `ec.utils.decode_dss_signature` was removed in newer cryptography releases; use the canonical `cryptography.hazmat.primitives.asymmetric .utils.decode_dss_signature` import instead. Co-Authored-By: Claude Opus 4.6 --- packaging/mas/submit_for_review.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packaging/mas/submit_for_review.py b/packaging/mas/submit_for_review.py index 18a59de..47dacd2 100644 --- a/packaging/mas/submit_for_review.py +++ b/packaging/mas/submit_for_review.py @@ -25,6 +25,7 @@ import requests from cryptography.hazmat.primitives.asymmetric import ec +from cryptography.hazmat.primitives.asymmetric.utils import decode_dss_signature from cryptography.hazmat.primitives.serialization import load_pem_private_key API = "https://api.appstoreconnect.apple.com/v1" @@ -49,7 +50,7 @@ def _b64(data: bytes) -> str: key = load_pem_private_key(key_pem, password=None) der_sig = key.sign(segments.encode(), ec.ECDSA(hashes.SHA256())) - r, s = ec.utils.decode_dss_signature(der_sig) + r, s = decode_dss_signature(der_sig) raw_sig = r.to_bytes(32, "big") + s.to_bytes(32, "big") return segments + "." + _b64(raw_sig)