X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=doc%2Ffeatures.rst;h=19cf7f97fa6ebd300c55b1f30ddc22ef28be3e7e;hb=9c7c8907058265e037945fd96c77aeceb4902623;hp=d23729f12096bede25e86d07bb520b570257397b;hpb=2d45a224943c79e95cbd4913b44420788bc6c17d;p=pyderasn.git diff --git a/doc/features.rst b/doc/features.rst index d23729f..19cf7f9 100644 --- a/doc/features.rst +++ b/doc/features.rst @@ -8,9 +8,10 @@ Features * Size :ref:`constraints ` checking * Working with sequences as high level data objects with ability to (un)marshall them -* Python 2.7/3.5 compatibility +* Python 2.7/3.5/3.6 compatibility +* Aimed to be complaint with `X.690-201508 `__ -Why yet another library? `pyasn1 `__ +Why yet another library? `pyasn1 `__ had all of this a long time ago. PyDERASN resembles it in many ways. In practice it should be relatively easy to convert ``pyasn1``'s code to ``pyderasn``'s one. But additionally it offers: @@ -26,6 +27,8 @@ practice it should be relatively easy to convert ``pyasn1``'s code to settable values, even when they are inherited * However they do not require tags matching: IMPLICIT/EXPLICIT tags will be set automatically in the given sequence +* Descriptive errors, like ``pyderasn.DecodeError: UTCTime + (tbsCertificate:validity:notAfter:utcTime) (at 328) invalid UTCTime format`` * ``__slots__`` friendliness * Could be significantly faster. For example parsing of CACert.org's CRL under Python 3.5.2: @@ -40,14 +43,4 @@ practice it should be relatively easy to convert ``pyasn1``'s code to There are drawbacks: * No old Python versions support -* PyDERASN does **not** have object recreation capable ``repr``-s:: - - pyderasn>>> repr(algo_id) - AlgorithmIdentifier SEQUENCE[OBJECT IDENTIFIER 1.3.14.3.2.26, [UNIV 5] ANY 0500 OPTIONAL] - - pyasn1>>> repr(algo_id) - AlgorithmIdentifier().setComponents(ObjectIdentifier('1.3.14.3.2.26'), Any(hexValue='0500')) - -* Strings are not validated in any way, except just trying to be decoded - in ``ascii``, ``iso-8859-1``, ``utf-8/16/32`` correspondingly -* No REAL, RELATIVE OID, EXTERNAL, INSTANCE OF, EMBEDDED PDV, CHARACTER STRING +* See :ref:`limitations `