Skip to main content

Python ASN.1 DER/CER/BER codec with abstract structures

Project description

PyDERASN – strict and fast ASN.1 DER/CER/BER library for Python

I’m going to build my own ASN.1 library with slots and blobs! (C) PyDERASN’s author
  • BER/CER/DER decoding, strict DER validation, DER/CER encoding
  • Basic ASN.1 data types (X.208): BOOLEAN, INTEGER, BIT STRING, OCTET STRING, NULL, OBJECT IDENTIFIER, ENUMERATED, all strings, UTCTime, GeneralizedTime, CHOICE, ANY, SEQUENCE (OF), SET (OF)
  • Size constraints checking
  • Working with sequences as high level data objects with ability to (un)marshall them
  • Aimed to be complaint with X.690-201508
  • Streaming decoding and encoding capabilities, allowing working with very small memory footprint
  • Python 3.5+ compatibility
  • Automatic decoding of DEFINED BY fields
  • Ability to know exact decoded objects offset and lengths in the binary
  • Ability to allow BER-encoded data with knowing if any of specified field has either DER or BER encoding (or possibly indefinite-length encoding)
  • Ability to use mmap-ed files, memoryviews, iterators, 2-pass DER encoding mode and CER encoder dealing with the writer, giving ability to create huge ASN.1 encoded files with very little memory footprint
  • Ability to decode files in event generation mode, without the need to keep all the data and decoded structures in the memory
  • __slots__, copy.copy() friendliness
  • Workability with pickle
  • Cython compatibility
  • Descriptive errors, with decode paths
  • Pretty printer and command-line decoder, that could conveniently replace utilities like either dumpasn1 or openssl asn1parse

pyderasn is free software: see the file COPYING.LESSER for copying conditions.

PyDERASN home page is: http://www.pyderasn.cypherpunks.ru/

Please send questions, bug reports and patches to http://lists.cypherpunks.ru/pyderasn_002ddevel.html mailing list. Announcements also go to this mailing list.

Development Git source code repository currently is located here: http://www.git.cypherpunks.ru/?p=pyderasn.git;a=summary

Project details


Download files

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

Source Distribution

pyderasn-9.3.tar.gz (163.3 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page