Skip to main content

Python-ASN1 is a simple ASN.1 encoder and decoder for Python 2.6+ and 3.3+.

Features

  • Support BER (parser) and DER (parser and generator) encoding

  • 100% python, compatible with version 2.6, 2.7, 3.3 and higher

  • Can be integrated by just including a file into your project

Dependencies

Python-ASN1 relies on Python-Future for Python 2 and 3 compatibility. To install Python-Future:

pip install future

How to install Python-asn1

Install from PyPi with the following:

pip install asn1

or download the repository from GitHub and install with the following:

python setup.py install

You can also simply include asn1.py into your project.

How to use Python-asn1

Encoding

If you want to encode data and retrieve its DER-encoded representation, use code such as:

import asn1

encoder = asn1.Encoder()
encoder.start()
encoder.write('1.2.3', asn1.ObjectIdentifier)
encoded_bytes = encoder.output()

Decoding

If you want to decode ASN.1 from DER or BER encoded bytes, use code such as:

import asn1

decoder = asn1.Decoder()
decoder.start(encoded_bytes)
tag, value = decoder.read()

Documentation

The complete documentation is available on Read The Docs:

python-asn1.readthedocs.io

License

Python-ASN1 is free software that is made available under the MIT license. Consult the file LICENSE that is distributed together with this library for the exact licensing terms.

Changelog

2.1.1 (2017-10-30)

  • Fix a bug (#9): two’s complement corner case with values such as -32769. Add new test cases to test them.

2.1.0 (2016-12-18)

  • Add more documentation

  • Use (simulated) enumerations

  • Add Python 2.6 in automated checks and tests

  • Add type hints (for static checking) and fix some code

2.0.0 (2016-12-16)

  • First public release by Sebastien Andrivet

  • Support both python 2 and 3 (with Python-Future)

  • All strings are now in unicode

  • Add more ASN.1 tags (like PrintableString)

  • Fix errors in the example (dump.py)

  • Code reorganization

0.9 (2011-05-18)

  • Initial public release by Geert Jansen

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asn1-2.1.1.tar.gz (31.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

asn1-2.1.1-py2.py3-none-any.whl (9.8 kB view details)

Uploaded Python 2Python 3

File details

Details for the file asn1-2.1.1.tar.gz.

File metadata

  • Download URL: asn1-2.1.1.tar.gz
  • Upload date:
  • Size: 31.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for asn1-2.1.1.tar.gz
Algorithm Hash digest
SHA256 080b6e7747a53dcf4120b8938be41008e54313f3f15e9f500709cc3e0b13e9c5
MD5 dbc4a6a9404d12df0362d94f450d6215
BLAKE2b-256 26b0cf0bdf2a949c0a0f5d0a0eec01126fa1b3938a32adb04ad1b4595e9765bd

See more details on using hashes here.

File details

Details for the file asn1-2.1.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for asn1-2.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 0ff35ecc6b77e7c834140d41f5dccbe7699fdeb24034e0034901491cffb0f724
MD5 dc46f89acfec675d2a64e73f6504b0e4
BLAKE2b-256 8a3af30caddf103db021828cb3009ace71ab2344c3a4dc5e8e2478c56509a68c

See more details on using hashes here.

Release history Release notifications | RSS feed

3.3.0

2 files

3.2.0

2 files

3.1.0

2 files

3.0.1

2 files

3.0.0

2 files

2.8.0

2 files

2.7.1

2 files

2.7.0

2 files

2.6.0

2 files

2.5.0

2 files

2.4.2

2 files

2.4.1

2 files

2.4.0

2 files

2.3.1

2 files

2.3.0

2 files

2.2.0

2 files

This release

2.1.1 This release

2 files

2.1.0

2 files

2.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page