python.pyasn1, чтобы выразить ниже структуру - PullRequest
0 голосов
/ 05 марта 2019

Я новичок в Python и PYASN1, как выразить ниже структуру?Есть ли какие-либо документы, на которые я могу сослаться?Я ищу в интернете, есть небольшой документ о PYASN1

OtherInfo ::= SEQUENCE {
       keyInfo KeySpecificInfo,
       partyAInfo [0] OCTET STRING OPTIONAL,
       suppPubInfo [2] OCTET STRING
     }

KeySpecificInfo ::= SEQUENCE {
    algorithm OBJECT IDENTIFIER,
    counter OCTET STRING SIZE (4..4) }

1 Ответ

0 голосов
/ 05 марта 2019

Должно быть что-то вроде этого, при условии, что ваш модуль ASN.1 объявляет явную пометку по умолчанию.

Кроме того, документы .

class KeySpecificInfo(univ.Sequence):
    componentType = namedtype.NamedTypes(
        namedtype.NamedType('algorithm', ObjectIdentifier()),
        namedtype.NamedType(
            'counter', OctetString().subtype(subtypeSpec=ValueSizeConstraint(4, 4)))
    )

class OtherInfo(univ.Sequence):
    componentType = namedtype.NamedTypes(
        namedtype.NamedType('keyInfo', KeySpecificInfo()),
        namedtype.OptionalNamedType('partyAInfo', OctetString().subtype(
            explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0)),
        namedtype.NamedType('suppPubInfo', OctetString().subtype(
            explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 2))
    )
...