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 2.7/3.5/3.6 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://pyderasn.cypherpunks.ru/

Please send questions, bug reports and patches to https://lists.cypherpunks.ru/mailman/listinfo/pyderasn-devel mailing list. Announcements also go to this mailing list.

Development Git source code repository currently is located here: https://git.cypherpunks.ru/cgit.cgi/pyderasn.git/

Project details


Download files

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

Files for pyderasn, version 8.1
Filename, size File type Python version Upload date Hashes
Filename, size pyderasn-8.1.tar.gz (158.6 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page