Pyasn1 optanyalnamedType отсутствует на кодированном выходе derPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Pyasn1 optanyalnamedType отсутствует на кодированном выходе der

Сообщение Anonymous »

Я пытаюсь кодировать следующее: < /p>
aa-keyAlgorithm ATTRIBUTE ::= {
TYPE KeyAlgorithm
IDENTIFIED BY id-kma-keyAlgorithm }

KeyAlgorithm ::= SEQUENCE {
keyAlg OBJECT IDENTIFIER,
checkWordAlg [1] OBJECT IDENTIFIER OPTIONAL,
crcAlg [2] OBJECT IDENTIFIER OPTIONAL }
< /code>
В настоящее время мой код < /p>
from pyasn1.type.univ import ObjectIdentifier, Sequence
from pyasn1.type.namedtype import NamedTypes,NamedType, OptionalNamedType
from pyasn1.type.tag import Tag, tagClassContext, tagFormatSimple
from pyasn1.codec.der.encoder import encode
from pyasn1.codec.der.decoder import decode

id_kma_keyAlgorithm = ObjectIdentifier('2.16.840.1.101.2.1.13.1')
aes256_gcm_oid = ObjectIdentifier('2.16.840.1.101.2.1.13.2')
id_keyAlg_ckword64 = ObjectIdentifier().subtype(value = '1.2.826.0.1145.0.5.0',
implicitTag=Tag(tagClassContext, tagFormatSimple, 1))
id_keyalg_crc32 = ObjectIdentifier().subtype(value = '1.2.826.0.1145.0.5.1',
implicitTag=Tag(tagClassContext, tagFormatSimple, 2))

class KeyAlgorithm(Sequence):
componentType = NamedTypes(
NamedType('keyAlg', ObjectIdentifier()),
OptionalNamedType('checkWordAlg', ObjectIdentifier().subtype(
implicitTag=Tag(tagClassContext, tagFormatSimple, 1))),
OptionalNamedType('crcAlg', ObjectIdentifier().subtype(
implicitTag=Tag(tagClassContext, tagFormatSimple, 2)))
)

class aa_keyAlgorithm(Sequence):
componentType = NamedTypes(
NamedType('attrType', ObjectIdentifier()),
NamedType('attrValues', KeyAlgorithm())
)

key_algorithm = aa_keyAlgorithm()
key_alg_attrs = KeyAlgorithm()

key_algorithm.setComponentByName('attrType', id_kma_keyAlgorithm)
key_algorithm.setComponentByName('attrValues', key_alg_attrs)

key_alg_attrs.setComponentByName('keyAlg', aes256_gcm_oid)
key_alg_attrs[1] = id_keyAlg_ckword64
key_alg_attrs[2] = id_keyalg_crc32
print(key_algorithm.prettyPrint())
encoded_data = encode(key_algorithm)

with open("myfile.der", "wb") as f:
f.write(encoded_data)
< /code>
Однако в выходе Der отсутствует дополнительные компоненты и просто содержит теги содержимого < /p>
0:d=0 hl=2 l= 46 cons: SEQUENCE
2:d=1 hl=2 l= 9 prim: OBJECT :2.16.840.1.101.2.1.13.1
13:d=1 hl=2 l= 33 cons: SEQUENCE
15:d=2 hl=2 l= 9 prim: OBJECT :2.16.840.1.101.2.1.13.2
26:d=2 hl=2 l= 9 prim: cont [ 1 ]
37:d=2 hl=2 l= 9 prim: cont [ 2 ]
< /code>
Схема включает в себя компоненты: < /p>
print(key_alg_attrs[2])
< /code>
дает идентификатор объекта, который он должен дать, но он нигде на выходе Der. Любая справка, исправление этого, будет наиболее оценено.

Подробнее здесь: https://stackoverflow.com/questions/795 ... ded-output
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как преобразовать открытый текстовый ключ в der в openssl
    Anonymous » » в форуме C++
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Как преобразовать простой текстовый общедоступный ключ в DER в OpenSSL
    Anonymous » » в форуме C++
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • VSCODE Test Explorer висит, несмотря на ошибки в выходе, и все собранные тесты (в выходе)
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Правильная структура данных pyasn1 для образцов значений IEC 61850 Тип SavPDU?
    Anonymous » » в форуме Python
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • PySNMP: ImportError: нет модуля с именем pyasn1.compat.octets
    Anonymous » » в форуме Python
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»