X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=README;h=b4d771cf3f14486dfecc45668b8f126b02aaed1c;hb=498f47100e12f1bef247b29460ac4621fa0fc9f9;hp=607fedc0df44b5fd4af1d2dcb3de9169bd0270bb;hpb=bcd657c68216fade457e910af896537792a775b6;p=pyderasn.git diff --git a/README b/README index 607fedc..b4d771c 100644 --- a/README +++ b/README @@ -1,17 +1,33 @@ -PyDERASN -- ASN.1 DER library for Python +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 -* Python 2.7/3.5 compatibility -* __slots__ friendliness +* 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