Как работать на ASN.1 и имплиментных структурах в нем? - PullRequest
5 голосов
/ 12 января 2012

Я хочу реализовать некоторый протокол, используя asn.1, поэтому я должен объявить структуры и пометить там имя в некотором заголовочном файле и реализовать правило кодирования asn.1 как функцию.Можете ли вы предложить мне учебник или книгу для ссылки.Я не знаю, как написать код для этого.

Ответы [ 3 ]

5 голосов
/ 13 января 2012

Если вы новичок в ASN.1, взгляните на «ASN.1 Made Simple» - http://www.oss.com/asn1/resources/asn1-made-simple/introduction.html - который дает вам простое введение в ASN.1. Есть также несколько хороших книг, доступных для бесплатной загрузки на http://www.oss.com/asn1/resources/books-whitepapers-pubs/asn1-books.html, которые дают вам более полное представление.

Этот сайт не позволит мне публиковать более двух ссылок на сообщение, поэтому дополнительная информация будет опубликована в отдельном сообщении.

5 голосов
/ 13 января 2012

Часть 2

Если у вас есть спецификация ASN.1, вам лучше всего получить компилятор ASN.1, который читает спецификацию ASN.1 и генерирует код на C, C ++, C # илиJava, которая соответствует структурам ASN.1.Есть много коммерческих и бесплатных инструментов ASN.1, и многие из коммерческих инструментов ASN.1 предлагают бесплатные пробные версии.Вы можете увидеть хороший список инструментов ASN.1 на http://www.itu.int/ITU-T/asn1/links/index.htm,, где вы также можете найти дополнительную полезную информацию ASN.1.

Использование хорошего инструмента ASN.1 делает вашу задачу разработки очень простой, посколькуВам не нужно беспокоиться обо всех деталях, чтобы получить точные биты в строке.Инструмент обрабатывает это для вас.Вы концентрируетесь на структуре данных C или C ++, C # или Java-объекте, в то время как инструмент ASN.1 выполняет преобразование этого в и из строк битов, которые передаются по линии.

Если у вас нетСпецификация ASN.1, все еще лучше использовать хороший инструмент ASN.1, чтобы помочь вам при создании вашей спецификации ASN.1.Книги и учебные пособия, ссылки на которые есть в моем первом сообщении, - хорошее место для начала, если вам нужно создать собственную спецификацию.

Пол

3 голосов
/ 12 января 2012

Таким образом, ASN.1 на самом деле не то, что вы пишете код, а просто название стандарта для определения различных протоколов связи (обычно кодирование, передача и т. Д.)

Я удивлен, что вы, очевидно, не гадали
http://en.wikipedia.org/wiki/Asn.1

Поскольку речь идет об основных определениях, а также о предоставлении множества ресурсов по теме, включая некоторые книги и примеры различных общих стандартов кодирования, определенных в ASN.1 (например, DER, BER и т. Д.)

Это должно помочь вам начать, так как вы на самом деле не указали, существует ли какая-то конкретная реализация, над которой вы работаете, или что-то еще о проблеме, с которой вы столкнулись.

...