# 使用 Homebrew, apt, MacPorts, Nix, zypper 安装 asn1c

查看 asn1c 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

## 安装

```sh
sudo av install brew:asn1c
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install asn1c
```

  证据: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install asn1c
```

  证据: MacPorts ports tree: lang/asn1c/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Debian apt (92%):

```sh
sudo apt install asn1c
```

  证据: Debian stable package indexes: asn1c from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#asn1c
```

  证据: nixpkgs package indexes: pkgs/by-name/as/asn1c/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- zypper (92%):

```sh
sudo zypper install asn1c
```

  证据: openSUSE Tumbleweed package metadata: asn1c from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## 软件包事实

- **软件包键:** brew:asn1c
- **软件包管理器:** Homebrew
- **软件包管理器页面:** <https://formulae.brew.sh/formula/asn1c>
- **版本:** 0.9.29
- **来源摘要:** Compile ASN.1 specifications into C source code
- **主页:** <https://lionet.info/asn1c/blog>
- **仓库:** <https://github.com/vlm/asn1c>
- **上游文档:** <https://github.com/vlm/asn1c#readme>
- **许可证:** BSD-2-Clause
- **源码归档:** <https://github.com/vlm/asn1c/archive/refs/tags/v0.9.29.tar.gz>
- **最后更新:** 2026-06-22T11:36:29Z
- **已生成:** 2026-07-08T18:08:21+00:00

## 可执行文件

- asn1c (cli)
- crfc2asn1.pl (cli)
- enber (cli)
- unber (cli)
- asn1c (别名)
- crfc2asn1.pl (别名)
- enber (别名)
- unber (别名)

## 构建依赖

- autoconf
- automake
- libtool

## 安装行为

- post-install 钩子: 未定义
- Bottle: 可用 于 arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## 版本和新鲜度

- 页面生成时间: 2026-07-08
- 管理器版本: 0.9.29
- 管理器更新时间: 2026-06-22
- 本地数据: OK
- 上游仓库: https://github.com/vlm/asn1c
- 检测到的最新版本: v0.9.29 (当前)
## 项目历史与用法

asn1c is Lev Walkin's ASN.1-to-C compiler, packaged as a command-line tool that turns ASN.1 module specifications into C and C++-compatible C code for BER, DER, OER, PER, XER, and related ASN.1 transfer syntaxes. Its upstream README frames it as a practical compiler for protocol implementers rather than a complete implementation of the entire ASN.1 standards family.

### 项目历史

The project grew around the long-lived lionet.info ASN.1 compiler site and the vlm/asn1c source repository. The upstream documentation emphasizes code generation for native C structures, serializers, and deserializers, while the ChangeLog shows a 0.9 series active through at least the mid-2000s and 2010s with portability fixes, PER work, examples, OER support, and security fixes in generated code and tooling.

asn1c's history is closely tied to real protocol work. Official examples and ChangeLog entries mention X.509, LDAP, 3GPP RRC, MEGACO/H.248.1, GSM TAP3, LTE RRC, IEEE 1609.2, and SAE J2735, which explains why the package persists in Unix package managers despite ASN.1 being a niche compiler domain.

### 采用历史

The Homebrew input records asn1c in several Unix package ecosystems, including Homebrew, Debian, MacPorts, Nix, Ubuntu, and zypper. That breadth matches the upstream portability work visible in the ChangeLog, including C89/C99, MinGW, macOS, autoreconf, and generated-file permission fixes.

The upstream README describes ASN.1 formats as widely used in HTTPS certificates, mobile-network control data, and intelligent transportation systems. For package users, asn1c tends to appear as a build-time or protocol-development dependency rather than an end-user application.

### 使用方式

The core usage is `asn1c module.asn1`, with multiple ASN.1 modules passed together when specifications have interdependencies. By default, the compiler emits multiple `.c` and `.h` files for ASN.1 types; `-P` prints generated output, while `-E` and `-EF` expose parser and semantic-fixer stages for debugging a specification.

The generated C support code is used to encode and decode protocol data in BER/DER, OER, PER, and XER families. The bundled helper tools `enber` and `unber` support BER-oriented inspection workflows, and the `crfc2asn1.pl` script extracts ASN.1 modules from RFC text.

### 为什么软件包爱好者会关心

asn1c is one of those packages that matters because it sits at the boundary between formal telecom/security standards and C build systems. It is a small CLI in the package manager, but it can generate substantial source trees that become part of another project's ABI, memory-safety surface, and wire-format compatibility.

Package maintainers care about asn1c versions because changes in generated code, codec support, and skeleton behavior can affect downstream protocol parsers. The ChangeLog's security notes for generated output make it more than a compiler binary: upgrades can change the safety of code already emitted into dependent projects.

### 时间线

- 2005: 0.9.11 through 0.9.19 ChangeLog entries show active compiler, XER, circular-reference, and generated-code fixes.
- 2006: 0.9.20 starts experimental PER implementation; 0.9.21 adds a first PER encoder and telecom examples.
- 2008: 0.9.22 expands PER support and adds an OMA ULP decoder example.
- 2014: 0.9.26 and 0.9.27 focus on documentation, defaults, portability, and debug behavior.
- 2017: 0.9.28 records portability fixes and verification around a reported CVE.
- 0.9.29: Adds Information Object Set driven generation, OER support, LTE RRC, IEEE 1609.2, SAE J2735 examples, and LibFuzzer-based tests.

### Related projects

- asn1c is related to ASN.1 specifications and transfer syntax tooling rather than to a single peer package. Its upstream README points readers to ASN.1 standards material and examples involving X.509, mobile networking, and transportation protocols.

### 来源

- <https://github.com/vlm/asn1c#readme>
- <https://github.com/vlm/asn1c/blob/master/ChangeLog>
- <https://lionet.info/asn1c/blog/>
- input.source_facts.package-manager


## 安全说明

narrow executable package without higher-risk signals.

- **Geiger 风险:** 绿色 / 低
- narrow executable package without higher-risk signals

## 源数据库详情

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** asn1c
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## 其他软件包管理器记录

- Debian apt - asn1c - 0.9.28+dfsg-5: normalized package name match | Debian stable package indexes: asn1c from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | ASN.1 compiler for C | https://github.com/vlm/asn1c
- Debian apt - asn1c-doc - 0.9.28+dfsg-5: normalized package name match | Debian stable package indexes: asn1c-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Documentation for asn1c | https://github.com/vlm/asn1c
- Nix - asn1c: normalized package name match | nixpkgs package indexes: pkgs/by-name/as/asn1c/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - asn1c - 0.9.28+dfsg-5: normalized package name match | Ubuntu 24.04 LTS package indexes: asn1c from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | ASN.1 compiler for C | https://github.com/vlm/asn1c
- Ubuntu apt - asn1c-doc - 0.9.28+dfsg-5: normalized package name match | Ubuntu 24.04 LTS package indexes: asn1c-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Documentation for asn1c | https://github.com/vlm/asn1c
- zypper - asn1c - 0.9.28-2.22: normalized package name match | openSUSE Tumbleweed package metadata: asn1c from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | ASN.1 Compiler | http://lionet.info/asn1c/
- MacPorts - asn1c: normalized package name match | MacPorts ports tree: lang/asn1c/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## 相关链接

- [Terminal utility packages](https://www.automicvault.com/zh-hans/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/zh-hans/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/zh-hans/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://www.automicvault.com/zh-hans/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [autoconf](https://www.automicvault.com/zh-hans/pkg/brew/autoconf/) - Build dependency declared by Homebrew.
- [automake](https://www.automicvault.com/zh-hans/pkg/brew/automake/) - Build dependency declared by Homebrew.
- [libtool](https://www.automicvault.com/zh-hans/pkg/brew/libtool/) - Build dependency declared by Homebrew.
- [aarch64-elf-gcc](https://www.automicvault.com/zh-hans/pkg/brew/aarch64-elf-gcc/) - Shares av.db curated category or tags: cli, compiler, developer-tools.
- [adaptivecpp](https://www.automicvault.com/zh-hans/pkg/brew/adaptivecpp/) - Shares av.db curated category or tags: cli, compiler, developer-tools.
- [alive2](https://www.automicvault.com/zh-hans/pkg/brew/alive2/) - Shares av.db curated category or tags: cli, compiler, developer-tools.
- [arm-none-eabi-gcc](https://www.automicvault.com/zh-hans/pkg/brew/arm-none-eabi-gcc/) - Shares av.db curated category or tags: cli, compiler, developer-tools.
- [aspectj](https://www.automicvault.com/zh-hans/pkg/brew/aspectj/) - Shares av.db curated category or tags: cli, compiler, developer-tools.
- [babel](https://www.automicvault.com/zh-hans/pkg/brew/babel/) - Shares av.db curated category or tags: cli, compiler, developer-tools.
- [bender](https://www.automicvault.com/zh-hans/pkg/brew/bender/) - Shares av.db curated category or tags: cli, compiler, developer-tools.
- [binaryen](https://www.automicvault.com/zh-hans/pkg/brew/binaryen/) - Shares av.db curated category or tags: cli, compiler, developer-tools.
- [cppinsights](https://www.automicvault.com/zh-hans/pkg/brew/cppinsights/) - Local package facts share a topical domain. Shared terms: cli, code, compiler, developer, developer-tools.
- [dhall-bash](https://www.automicvault.com/zh-hans/pkg/brew/dhall-bash/) - Local package facts share a topical domain. Shared terms: cli, code, compile, compiler, developer.
- [ncc](https://www.automicvault.com/zh-hans/pkg/brew/ncc/) - Local package facts share a topical domain. Shared terms: cli, compile, compiler, developer, developer-tools.

## Combined YAML source

View the package source record on GitHub. [combined/asn1c.yml](https://github.com/automic-vault/db/blob/main/combined/asn1c.yml)


## 来源

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
