1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
3 NAMEBASE= python-asn1crypto
7 SDESC[py37]= Performant ASN.1 handling library (PY37)
8 SDESC[py38]= Performant ASN.1 handling library (PY38)
9 HOMEPAGE= https://github.com/wbond/asn1crypto
10 CONTACT= Python_Automaton[python@ironwolf.systems]
13 SITES[main]= PYPI/a/asn1crypto
14 DISTFILE[1]= asn1crypto-1.3.0.tar.gz:main
19 OPTIONS_AVAILABLE= PY38 PY37
20 OPTIONS_STANDARD= none
21 VOPTS[py37]= PY38=OFF PY37=ON
22 VOPTS[py38]= PY38=ON PY37=OFF
24 DISTNAME= asn1crypto-1.3.0
28 [PY37].USES_ON= python:py37
30 [PY38].USES_ON= python:py38
32 [FILE:4030:descriptions/desc.single]
35 A fast, pure Python library for parsing and serializing ASN.1 structures.
38 - [Why Another Python ASN.1 Library?]
39 - [Related Crypto Libraries]
45 - [Continuous Integration]
59 In addition to an ASN.1 BER/DER decoder and DER serializer, the project
61 a bunch of ASN.1 structures for use with various common cryptography
67 | ---------------------- | ------------------------------------------- |
68 ----------------------------------------------------------------------------------------------------------------------
70 | X.509 | [`asn1crypto.x509`] | [RFC 5280]
72 | CRL | [`asn1crypto.crl`] | [RFC 5280]
74 | CSR | [`asn1crypto.csr`] | [RFC 2986], [RFC
76 | OCSP | [`asn1crypto.ocsp`] | [RFC 6960]
78 | PKCS#12 | [`asn1crypto.pkcs12`] | [RFC 7292]
80 | PKCS#8 | [`asn1crypto.keys`] | [RFC 5208]
82 | PKCS#1 v2.1 (RSA keys) | [`asn1crypto.keys`] | [RFC 3447]
84 | DSA keys | [`asn1crypto.keys`] | [RFC 3279]
86 | Elliptic curve keys | [`asn1crypto.keys`] | [SECG SEC1 V2]
88 | PKCS#3 v1.4 | [`asn1crypto.algos`] | [PKCS#3 v1.4]
90 | PKCS#5 v2.1 | [`asn1crypto.algos`] | [PKCS#5 v2.1] |
91 | CMS (and PKCS#7) | [`asn1crypto.cms`] | [RFC 5652], [RFC
93 | TSP | [`asn1crypto.tsp`] | [RFC 3161]
95 | PDF signatures | [`asn1crypto.pdf`] | [PDF 1.7]
98 ## Why Another Python ASN.1 Library?
100 Python has long had the [pyasn1] and
101 [pyasn1_modules] available for
102 parsing and serializing ASN.1 structures. While the project does include a
103 comprehensive set of tools for parsing and serializing, the performance of
105 library can be very poor, especially when dealing with bit fields and
107 large structures such as CRLs.
109 After spending extensive time using *pyasn1*, the following issues were
113 2. Verbose, non-pythonic API
114 3. Out-dated and incomplete definitions in *pyasn1-modules*
115 4. No simple way to map data to native Python data structures
116 5. No mechanism for overridden universal ASN.1 types
118 The *pyasn1* API is largely method driven, and uses extensive configuration
119 objects and lowerCamelCase names. There were no consistent options for
120 converting types of native Python data structures. Since the project
122 out-dated versions of Python, many newer language features are unavailable
125 Time was spent trying to profile issues with the performance, however the
126 architecture made it hard to pin down the primary source of the poor
127 performance. Attempts were made to improve performance by utilizing
129 patches and delaying parsing using the `Any` type. Even with such changes,
131 performance was still unacceptably slow.
136 5a215cb8dc12f892244e3a113fe05397ee23c5c4ca7a69cd6e69811755efc42d 118481 asn1crypto-1.3.0.tar.gz