]> Cypherpunks.ru repositories - pyderasn.git/blobdiff - doc/features.rst
COMPLI: ASN.1:2008 compliance test suite
[pyderasn.git] / doc / features.rst
index 9da0659103fc081a033085760f4fffd38a3cb969..c18c83d9720c56ad8cd66d774ee3d61adc4ceda1 100644 (file)
@@ -9,6 +9,7 @@ Features
 * Working with sequences as high level data objects with ability to
   (un)marshall them
 * Python 2.7/3.5/3.6 compatibility
+* Aimed to be complaint with `X.690-201508 <https://www.itu.int/rec/T-REC-X.690-201508-I/en>`__
 
 Why yet another library? `pyasn1 <http://snmplabs.com/pyasn1/>`__
 had all of this a long time ago. PyDERASN resembles it in many ways. In
@@ -27,7 +28,7 @@ practice it should be relatively easy to convert ``pyasn1``'s code to
 * 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``
+  (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:
@@ -42,14 +43,6 @@ 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[algorithm: OBJECT IDENTIFIER 1.3.14.3.2.26; parameters: [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