From 575d1a3158bcd5c2652a635763c61e08bc1603af Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Wed, 14 Jan 2026 01:49:53 +0100 Subject: [PATCH] BatchPersonalization: run validation.CheckBasicStructure on each PES Change-Id: I0e4aa6b0c62552d95feee62948e0cb0bb8c6d8ef --- pySim/esim/saip/personalization.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pySim/esim/saip/personalization.py b/pySim/esim/saip/personalization.py index 2e13504c..1f79767e 100644 --- a/pySim/esim/saip/personalization.py +++ b/pySim/esim/saip/personalization.py @@ -29,6 +29,7 @@ from pySim.utils import enc_iccid, dec_iccid, enc_imsi, dec_imsi, h2b, b2h, rpad from pySim.esim.saip import param_source from pySim.esim.saip import ProfileElement, ProfileElementSD, ProfileElementSequence from pySim.esim.saip import SecurityDomainKey, SecurityDomainKeyComponent +from pySim.esim.saip import validation from pySim.global_platform import KeyUsageQualifier, KeyType def unrpad(s: hexstr, c='f') -> hexstr: @@ -1222,6 +1223,12 @@ class BatchPersonalization: raise ValueError(f'{p.param.name} fed by {p.src.name}: {e}' f' (input_value={p.param.input_value!r} value={p.param.value!r})') from e + try: + c = validation.CheckBasicStructure() + c.check(pes) + except validation.ProfileError as e: + raise ValueError(f'generated profile index {i} does not pass basic structural checks: {e}') from e + yield pes