diff --git a/pySim/esim/saip/personalization.py b/pySim/esim/saip/personalization.py index 663ba02c..e780516e 100644 --- a/pySim/esim/saip/personalization.py +++ b/pySim/esim/saip/personalization.py @@ -131,6 +131,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 @@ -346,6 +347,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): @@ -379,6 +381,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): @@ -411,6 +414,7 @@ class SdKey(BinaryParam): key_id = None kvn = None key_usage_qual = None + default_source = param_source.RandomHexDigitSource @classmethod def _apply_sd(cls, pe: ProfileElement, value): @@ -567,6 +571,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): @@ -604,6 +609,7 @@ class Pin(DecimalHexParam): min_len = 4 max_len = 8 default_value = '0' * max_len + default_source = param_source.RandomDigitSource keyReference = None @staticmethod @@ -715,6 +721,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): @@ -733,6 +740,7 @@ class K(BinaryParam, AlgoConfig): algo_config_key = 'key' allow_len = int(128/8) # length in bytes (from BinaryParam) default_value = '00' * allow_len + default_source = param_source.RandomHexDigitSource class Opc(K): name = 'OPc'