You can decode DER files using command line abilities and get the same
picture as above by executing::
- % pyderasn.py --schema tests.test_crts:Certificate path/to/file
+ % python -mpyderasn --schema tests.test_crts:Certificate path/to/file
If there is no schema for you file, then you can try parsing it without,
but of course IMPLICIT tags will often make it impossible. But result is
good enough for the certificate above::
- % pyderasn.py path/to/file
+ % python -mpyderasn path/to/file
0 [1,3,1604] . >: SEQUENCE OF
4 [1,3,1453] . . >: SEQUENCE OF
8 [0,0, 5] . . . . >: [0] ANY
then you can pass it to pretty printer to see human readable OIDs::
- % pyderasn.py --oids tests.test_crts:some_oids path/to/file
+ % python -mpyderasn --oids tests.test_crts:some_oids path/to/file
[...]
37 [1,1, 11] . . . . . . >: SET OF
39 [1,1, 9] . . . . . . . . >: SEQUENCE OF
If you have bad DER, then errors will show you where error occurred::
- % pyderasn.py --schema tests.test_crts:Certificate path/to/bad/file
+ % python -mpyderasn --schema tests.test_crts:Certificate path/to/bad/file
Traceback (most recent call last):
[...]
pyderasn.DecodeError: UTCTime (tbsCertificate.validity.notAfter.utcTime) (at 328) invalid UTCTime format
::
- % pyderasn.py path/to/bad/file
+ % python -mpyderasn path/to/bad/file
[...]
pyderasn.DecodeError: UTCTime (0.SequenceOf.4.SequenceOf.1.UTCTime) (at 328) invalid UTCTime format
* Could be significantly faster. For example parsing of CACert.org's CRL
under Python 3.5.2:
- :``pyderasn.py revoke.crl``:
+ :``python -mpyderasn revoke.crl``:
~2 min
- :``pyderasn.py --schema path.to.CertificateList revoke.crl``:
+ :``python -mpyderasn --schema path.to.CertificateList revoke.crl``:
~38 sec
:``pyasn1.decode(asn1Spec=pyasn1.CertificateList())``:
~22 min (``pyasn1 == 0.2.3``)