aboutsummaryrefslogtreecommitdiffstats
path: root/devel/pyderasn/pkg-descr
blob: 9c1b1484b332cc84f740ec0a9ae3468d1aaed0d9 (plain) (blame)
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
PyDERASN -- strict and fast ASN.1 DER/CER/BER library for Python

* 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