1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
========
Overview
========
Python-ASN1 is a simple ASN.1 encoder and decoder for Python 2.7 and 3.5+.
Features
========
- Support BER (parser) and DER (parser and generator) encoding (except indefinite lengths)
- 100% python, compatible with version 2.7, 3.5 and higher
- Can be integrated by just including a file into your project
Dependencies
==============
Python-ASN1 relies on `Python-Future <https://python-future.org>`_ for Python 2 and 3 compatibility. To install Python-Future:
.. code-block:: sh
pip install future
How to install Python-asn1
==========================
Install from PyPi with the following:
.. code-block:: sh
pip install asn1
or download the repository from `GitHub <https://github.com/andrivet/python-asn1>`_ and install with the following:
.. code-block:: sh
python setup.py install
You can also simply include ``asn1.py`` into your project.
How to use Python-asn1
======================
.. note:: You can find more detailed documentation on the `Usage`_ page.
.. _Usage: usage.rst
Encoding
--------
If you want to encode data and retrieve its DER-encoded representation, use code such as:
.. code-block:: python
import asn1
encoder = asn1.Encoder()
encoder.start()
encoder.write('1.2.3', asn1.Numbers.ObjectIdentifier)
encoded_bytes = encoder.output()
Decoding
--------
If you want to decode ASN.1 from DER or BER encoded bytes, use code such as:
.. code-block:: python
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 <https://python-asn1.readthedocs.io/en/latest/>`_
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.
Copyright
=========
The following people have contributed to Python-ASN1. Collectively they own the copyright of this software.
* Geert Jansen (geert@boskant.nl): `original implementation <https://github.com/geertj/python-asn1>`_.
* Sebastien Andrivet (sebastien@andrivet.com)
|