diff --git a/pySim/esim/saip/personalization.py b/pySim/esim/saip/personalization.py index fd601adb..2fea44f5 100644 --- a/pySim/esim/saip/personalization.py +++ b/pySim/esim/saip/personalization.py @@ -143,6 +143,7 @@ class ConfigurableParameter: max_len = None allow_len = None # a list of specific lengths default_value = None + default_source = None # a param_source.ParamSource subclass def __init__(self, input_value=None): self.input_value = input_value # the raw input value as given by caller @@ -361,6 +362,7 @@ class BinaryParam(ConfigurableParameter): allow_types = (str, io.BytesIO, bytes, bytearray) allow_chars = '0123456789abcdefABCDEF' strip_chars = ' \t\r\n' + default_source = param_source.RandomHexDigitSource @classmethod def validate_val(cls, val): @@ -388,6 +390,7 @@ class Iccid(DecimalParam): min_len = 18 max_len = 20 default_value = '0' * 18 + default_source = param_source.IncDigitSource @classmethod def validate_val(cls, val): @@ -421,6 +424,7 @@ class Imsi(DecimalParam): min_len = 6 max_len = 15 default_value = '00101' + ('0' * 10) + default_source = param_source.IncDigitSource @classmethod def apply_val(cls, pes: ProfileElementSequence, val): @@ -632,6 +636,7 @@ class Puk(DecimalHexParam): rpad = 16 keyReference = None default_value = '0' * allow_len + default_source = param_source.RandomDigitSource @classmethod def apply_val(cls, pes: ProfileElementSequence, val): @@ -669,6 +674,7 @@ class Pin(DecimalHexParam): min_len = 4 max_len = 8 default_value = '0' * max_len + default_source = param_source.RandomDigitSource keyReference = None @staticmethod @@ -786,6 +792,7 @@ class AlgorithmID(DecimalParam, AlgoConfig): algo_config_key = 'algorithmID' allow_len = 1 default_value = 1 # Milenage + default_source = param_source.ConstantSource @classmethod def validate_val(cls, val): @@ -816,6 +823,7 @@ class MilenageRotationConstants(BinaryParam, AlgoConfig): algo_config_key = 'rotationConstants' allow_len = 5 # length in bytes (from BinaryParam) default_value = '0a 0b 0c 0d 0e' + default_source = param_source.ConstantSource @classmethod def validate_val(cls, val): @@ -848,6 +856,7 @@ class TuakNumberOfKeccak(IntegerParam, AlgoConfig): min_val = 1 max_val = 255 default_value = '1' + default_source = param_source.ConstantSource class BatchPersonalization: