X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=doc%2Ffeatures.rst;h=03c9280374b71fc3a1be38ebefaddb11028d0277;hb=b03991f8fe17ab0e450400286374285b11105db5;hp=34fe9419d3b6f4aa30dcc9f19a52c6843d68570c;hpb=13ea772db7870683065ac15197888cd037df78f0;p=pyderasn.git diff --git a/doc/features.rst b/doc/features.rst index 34fe941..03c9280 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) @@ -48,11 +48,7 @@ Also there is `asn1crypto `__. * 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. +* 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: