я следующие данные ASN1ASN1 OBJECT_IDENTIFIER декодирования
Sequence
Sequence
ObjectIdentifier
Sequence
Sequence
Integer
Integer
Sequence
Integer
Integer
Моя цель состоит в том, чтобы получить кодированные целые значения. Мой код до сих пор проблема следующая
ByteQueue queue(inputLen);
queue.Put2(input, inputLen, 0, false);
BERSequenceDecoder outer(queue);
BERSequenceDecoder discard(outer); // unnecessary sequence with object_identifier
BERSequenceDecoder obj(discard,
CryptoPP::ASNTag::OBJECT_IDENTIFIER | CryptoPP::ASNIdFlag::UNIVERSAL);
BERSequenceDecoder parent(outer); //BER decode error
for(int i = 0; i < 2; i++) {
BERSequenceDecoder dataSequence(parent);
Integer i1, i2;
i1.BERDecode(dataSequence);
i2.BERDecode(dataSequence);
, я не знаю, как правильно пройти мимо object_identifier части, по крайней мере, я думаю, что это проблема. Я получаю BER decode error
на объекте 4. декодера.
Также, правильно ли я инициализирую ByteQueue? этот метод Put2
не кажется правильным, но я не нашел других методов.
Возможно, вы также захотите проверить [Как декодировать неинтерпретированные данные ASN1?] (Http://stackoverflow.com/q/29652055) – jww