X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=doc%2Ffeatures.rst;h=19fb10b24687751ac42598a95d2c393a1645ab48;hb=a68abb6caad16e63cdb6cc22326bd1078215672e;hp=34fe9419d3b6f4aa30dcc9f19a52c6843d68570c;hpb=13ea772db7870683065ac15197888cd037df78f0;p=pyderasn.git diff --git a/doc/features.rst b/doc/features.rst index 34fe941..19fb10b 100644 --- a/doc/features.rst +++ b/doc/features.rst @@ -37,7 +37,7 @@ Also there is `asn1crypto `__. * Extensive and comprehensive `hypothesis `__ driven tests coverage. It also has been fuzzed with - `python-afl `__. + `python-afl `__ * Some kind of strong typing: SEQUENCEs require the exact **type** of settable values, even when they are inherited (assigning ``Integer`` to the field with the type ``CMSVersion(Integer)`` is not allowed) @@ -47,12 +47,8 @@ Also there is `asn1crypto `__. automatically set required tags) * Descriptive errors, like ``pyderasn.DecodeError: UTCTime (tbsCertificate:validity:notAfter:utcTime) (at 328) invalid UTCTime format`` -* ``__slots__`` friendliness -* :ref:`Pretty printer ` and - :ref:`command-line decoder `, that could - conveniently replace utilities like either ``dumpasn1`` or - ``openssl asn1parse`` -* Could be significantly faster and have lower memory usage. +* ``__slots__``, ``copy.copy()``, ``pickle`` friendliness +* Could be significantly faster and have lower memory usage For example parsing of CACert.org's CRL (8.48 MiB) on FreeBSD 12.0 amd64, Intel Core i5-6200U 2.3 GHz machine, Python 3.5.5/2.7.15: @@ -77,6 +73,16 @@ Also there is `asn1crypto `__. converted ``pyasn1`` scheme definition) - 27.6 / 32.5 - 498 / 488 +* :ref:`Pretty printer ` and + :ref:`command-line decoder `, that could + conveniently replace utilities like either ``dumpasn1`` or + ``openssl asn1parse`` + + .. figure:: pprinting.png + :alt: Pretty printing example output + + An example of pretty printed X.509 certificate with automatically + parsed DEFINED BY fields. There are drawbacks: