ASN.1 SDK 快速入门

ASN.1 SDK 提供统一的命令行工作流,将 ASN.1 规范编译为 C、C++、Java、C# 和 Go 源代码。本指南涵盖安装、许可证激活、项目设置和编译。

1. 安装

SDK 需要 Java 17 或更高版本。从下载页面下载 SDK 压缩包并解压:

unzip asn1-sdk-3.14.15.zip
cd asn1-sdk-3.14.15

发行版包含 asndt 命令行工具、核心库和编译器插件:

bin/
  asndt.sh    # Linux/macOS
  asndt.bat   # Windows
lib/
  core/       # SDK 核心 JAR
  plugins/    # 编译器插件 JAR

bin/ 目录添加到 PATH 环境变量中,即可在任意目录下调用 asndt 命令:

export PATH=/path/to/asn1-sdk-3.14.15/bin:$PATH   # Linux/macOS
:: Windows: 将 bin\ 目录添加到系统 PATH 中

2. 激活许可证

免费试用页面申请评估许可证。获得许可证密钥后,通过交互式命令激活:

asndt license

选择激活许可证,选择目标编译器,然后粘贴密钥。许可证存储在您的用户配置文件中,适用于所有项目。

3. 创建项目

创建新的 ASN.1 项目骨架:

asndt create MyProject

这会创建:

MyProject/
  asn1.avn    # 项目配置
  src/        # 放置 ASN.1 源文件
  build/      # 生成输出

4. MyHTTP 示例

将以下 ASN.1 模块保存为 MyProject/src/MyHTTP.asn。此示例改编自 W3C HTTP-NG

MyHTTP DEFINITIONS
AUTOMATIC TAGS ::=
BEGIN
   GetRequest ::= SEQUENCE {
      header-only   BOOLEAN,
      lock          BOOLEAN,
      accept-types  AcceptTypes,
      url           Url,
      ...,
      timestamp     GeneralizedTime
   }
   AcceptTypes ::= SET {
      standards   BIT STRING { html(0), plain-text(1), gif(2), jpeg(3) } (SIZE(4)) OPTIONAL,
      others      SEQUENCE OF VisibleString (SIZE(4)) OPTIONAL
   }
   Url ::= VisibleString (FROM("a".."z"|"A".."Z"|"0".."9"|"./-_~%#"))
   myRequest GetRequest ::= {
      header-only  TRUE,
      lock         FALSE,
      accept-types {
         standards { html, plain-text }
      },
      url          "www.asnlab.org",
      timestamp    "20121221121221Z"
   }
END

5. 配置和编译

编辑 MyProject/asn1.avn 以启用目标编译器。在下面选择目标编程语言查看配置语法和代码集成:

需要帮助?

如果遇到任何问题,欢迎发送邮件至 sales@asnlab.org 联系我们的支持团队。