Automic VaultAutomic Vault

brew

Install asn1c with Homebrew, apt, MacPorts, Nix, zypper

Compile ASN.1 specifications into C source code. Version 0.9.29 via Homebrew; verified 2026-06-22.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install asn1c

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install asn1c

MacPorts ports tree · lang/asn1c/Portfile · source: api.github.com

Linux

Debian aptverified · 92%
sudo apt install asn1c

Debian stable package indexes · asn1c · source: deb.debian.org

Nixverified · 92%
nix profile install nixpkgs#asn1c

nixpkgs package indexes · pkgs/by-name/as/asn1c/package.nix · source: api.github.com

openSUSE zypperverified · 92%
sudo zypper install asn1c

openSUSE Tumbleweed package metadata · asn1c · source: download.opensuse.org

overview

Package summary

Compile ASN.1 specifications into C source code

Commands and aliases

  • asn1c
  • crfc2asn1.pl
  • enber
  • unber

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 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.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Build metadata lists 3 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
asn1ccliglobal executable
crfc2asn1.plcliglobal executable
enbercliglobal executable
unbercliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version0.9.29
manager updated2026-06-22
local dataok
upstreamcurrent
latest detectedv0.9.29

https://github.com/vlm/asn1c

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:asn1c
Version0.9.29
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/asn1c
Homepagehttps://lionet.info/asn1c/blog
Repositoryhttps://github.com/vlm/asn1c
Upstream docshttps://github.com/vlm/asn1c#readme
LicenseBSD-2-Clause
Source archivehttps://github.com/vlm/asn1c/archive/refs/tags/v0.9.29.tar.gz
Last updated2026-06-22T11:36:29Z
Pulseupdated
Build dependenciesautoconf, automake, libtool
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameasn1c
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

asn1c 0.9.28+dfsg-5

ASN.1 compiler for C

https://github.com/vlm/asn1c

sudo apt install asn1c
  • Section: devel
  • Architecture: amd64
  • 1 dependencies
  • 1 optional deps
  • normalized package name match
  • Matched by: Asn1c
Debian stable package indexes · deb.debian.org · Debian stable package indexes: asn1c from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

asn1c-doc 0.9.28+dfsg-5

Documentation for asn1c

https://github.com/vlm/asn1c

sudo apt install asn1c-doc
  • Section: doc
  • Architecture: all
  • Source Package: asn1c
  • normalized package name match
  • Matched by: Asn1c
Debian stable package indexes · deb.debian.org · Debian stable package indexes: asn1c-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

asn1c

nix profile install nixpkgs#asn1c
  • normalized package name match
  • Matched by: Asn1c
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/as/asn1c/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt95%

asn1c 0.9.28+dfsg-5

ASN.1 compiler for C

https://github.com/vlm/asn1c

sudo apt install asn1c
  • Section: universe/devel
  • Architecture: amd64
  • 1 dependencies
  • 1 optional deps
  • normalized package name match
  • Matched by: Asn1c
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: asn1c from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

asn1c-doc 0.9.28+dfsg-5

Documentation for asn1c

https://github.com/vlm/asn1c

sudo apt install asn1c-doc
  • Section: universe/doc
  • Architecture: all
  • Source Package: asn1c
  • normalized package name match
  • Matched by: Asn1c
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: asn1c-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
zypper95%

asn1c 0.9.28-2.22

ASN.1 Compiler

http://lionet.info/asn1c/

sudo zypper install asn1c
  • License: BSD-2-Clause
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: asn1c
  • 2 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Asn1c
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: asn1c from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
MacPorts95%

asn1c

sudo port install asn1c
  • normalized package name match
  • Matched by: Asn1c
MacPorts ports tree · api.github.com · MacPorts ports tree: lang/asn1c/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

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