pyasn1 не устанавливается значение тегированного элемента в Sequence

Разбираюсь с библиотекой pyasn1, столкнулся с проблемой присваивания значения элементу с тегом, вложенному в Sequence. ASN структура:

STest ::= [32] SEQUENCE {
seqof [10] SEQUENCE OF OCTET STRING 
}

pyasn1:

from pyasn1.type import univ, namedval, constraint, namedtype, tag, char

class STest(univ.Sequence):
    tagSet = univ.Sequence.tagSet.tagImplicitly(tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 32))
    componentType = namedtype.NamedTypes(namedtype.NamedType('seqof', univ.SequenceOf(componentType=univ.OctetString()).subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 10))))

stest = STest()
seq = univ.SequenceOf(componentType=univ.OctetString())
octet1 = univ.OctetString(hexValue='10101010')
seq.setComponents(octet1)
stest["seqof"] = seq
print(stest.prettyPrint())

при выполнении выдает ошибку:

> Traceback (most recent call last): File "test_pyasn1.py", line 87, in stest["seqof"] = seq File "/usr/local/lib/python3.6/dist-packages/pyasn1/type/univ.py", line 2250, in setitem raise KeyError(sys.exc_info()[1]) KeyError: PyAsn1Error('Component value is tag-incompatible:

Если у элемента SequenceOf убрать тег:

class STest(univ.Sequence):
    tagSet = univ.Sequence.tagSet.tagImplicitly(tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 32))
    componentType = namedtype.NamedTypes(namedtype.NamedType('seqof', univ.SequenceOf(componentType=univ.OctetString())))

программа выполняется:

STest:seqof=SequenceOf:0x10101010

python3.8, pyasn1 0.4.8

Подскажите, как заполнить Sequence.

Спасибо!


Ответы (0 шт):