【问题标题】:How to work on ASN.1 and impliment structures in it?如何在 ASN.1 上工作并在其中实现结构?
【发布时间】:2012-01-12 07:15:05
【问题描述】:

我想使用 asn.1 实现一些协议,所以我必须在一些头文件中声明结构和标记名称,并将 asn.1 的编码规则作为函数实现。 你能给我推荐一些教程或书来参考吗? 我不知道如何为它编写代码。

【问题讨论】:

    标签: asn.1


    【解决方案1】:

    如果您是 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 也有几本好书可供免费下载,让您有更全面的了解。

    此网站不允许我在每条消息中发布两个以上的链接,因此更多信息将在单独的帖子中发布。

    【讨论】:

      【解决方案2】:

      第 2 部分

      如果您有 ASN.1 规范,最好的办法是获取 ASN.1 编译器,该编译器可以读取 ASN.1 规范并生成与 ASN.1 对应的 C、C++、C# 或 Java 代码结构。有许多商业和免费 ASN.1 工具可用,许多商业 ASN.1 工具提供免费试用。您可以在http://www.itu.int/ITU-T/asn1/links/index.htm 上查看一个很好的 ASN.1 工具列表,您还可以在其中找到其他有用的 ASN.1 信息。

      使用一个好的 ASN.1 工具可以让您的开发任务变得非常简单,因为您不必担心获得正确的精确位的所有细节。该工具会为您处理这个问题。您专注于 C 数据结构或 C++、C# 或 Java 对象,而 ASN.1 工具处理将其与通过线路发送的位串进行转换。

      如果您没有 ASN.1 规范,最好还是使用一个好的 ASN.1 工具来指导您创建 ASN.1 规范。如果您需要创建自己的规范,那么在我的第一条消息中链接的书籍和教程是一个很好的起点。

      保罗

      【讨论】:

        【解决方案3】:

        所以 ASN.1 并不是你编写代码的东西,它只是定义各种通信协议(通常是编码、传输等)的标准名称。

        我很惊讶你显然没有在意
        http://en.wikipedia.org/wiki/Asn.1

        因为这涵盖了基本定义以及提供有关该主题的多种资源,包括一些书籍和 ASN.1 中定义的各种常见编码标准的示例(例如 DER、BER 等)

        这应该可以帮助您入门,因为您并没有真正说明您是否正在处理某些特定的实现,或者您遇到的问题是否真的有任何其他内容。

        【讨论】:

        • 我正在尝试使用 asn.1 符号来实现 mms(制造消息规范)协议,因此我需要一个指南来说明如何为我的协议定义结构。例如,在 wiki 中,他们给出了一个示例SEQUENCE 的结构 FOOQuestion,但它不是在 c 中定义结构的方法。
        • 那个数据结构文件是一些 asn.1 特定的文件??
        • @tod 您应该有一个用于 MMS 的现有 ASN.1 文档。由此,您可以使用代码生成器生成 C。代码生成器将 ASN.1 文档作为输入,并生成相应的 C 结构以及随附的编码和解码方法。否则,您将不得不手动执行代码生成器所做的事情 - 找出从 ASN.1 结构到 C 结构的合理映射,然后编写编码/解码逻辑。您可能想查看我们的website - 我们只销售这样的代码生成器。当然,还有其他人。
        • 好吧,谢谢那个编译器,我明白了如何工作。
        猜你喜欢
        • 1970-01-01
        • 2021-09-16
        • 2022-10-24
        • 2022-01-09
        • 1970-01-01
        • 2019-09-25
        • 2018-10-22
        • 2021-05-13
        • 2015-04-25
        相关资源
        最近更新 更多