Я думаю, что это должно выглядеть так:
class CasinoPlayer(Sequence):
componentType = NamedTypes(
NamedType(
'name',
UTF8String(
ConstraintsIntersection(
ValueSizeConstraint(1, 16)
)
)
),
DefaultedNamedType(
'luckyNumbers',
SequenceOf(
componentType=Integer(),
sizeSpec=ConstraintsIntersection(
ValueSizeConstraint(3, 3)
)
).setComponentByPosition(0, 7)
.setComponentByPosition(1, 7)
.setComponentByPosition(2, 7)
)
)
Кроме того, вам, вероятно, нужно назначить теги для каждого типа ASN.1 (как это подразумевается в предложении AUTOMATIC TAGS ).
ОБНОВЛЕНИЕ:
На самом деле, это должно работать, но это не так!К счастью, есть исправление , которое должно сделать дефолт SequenceOf
распространяющимся на поле Sequence
до тех пор, пока оно DefaultedNamedType
.