Ravenports generated: 30 May 2020 18:50
[ravenports.git] / bucket_BC / python-asn1crypto
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               python-asn1crypto
4 VERSION=                1.3.0
5 KEYWORDS=               python
6 VARIANTS=               py38 py37
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]
11
12 DOWNLOAD_GROUPS=        main
13 SITES[main]=            PYPI/a/asn1crypto
14 DISTFILE[1]=            asn1crypto-1.3.0.tar.gz:main
15 DF_INDEX=               1
16 SPKGS[py37]=            single
17 SPKGS[py38]=            single
18
19 OPTIONS_AVAILABLE=      PY38 PY37
20 OPTIONS_STANDARD=       none
21 VOPTS[py37]=            PY38=OFF PY37=ON
22 VOPTS[py38]=            PY38=ON PY37=OFF
23
24 DISTNAME=               asn1crypto-1.3.0
25
26 GENERATED=              yes
27
28 [PY37].USES_ON=                         python:py37
29
30 [PY38].USES_ON=                         python:py38
31
32 [FILE:4030:descriptions/desc.single]
33 # asn1crypto
34
35 A fast, pure Python library for parsing and serializing ASN.1 structures.
36
37  - [Features]
38  - [Why Another Python ASN.1 Library?]
39  - [Related Crypto Libraries]
40  - [Current Release]
41  - [Dependencies]
42  - [Installation]
43  - [License]
44  - [Documentation]
45  - [Continuous Integration]
46  - [Testing]
47  - [Development]
48  - [CI Tasks]
49
50 [GitHub Actions CI]
51 [Travis CI]
52 [AppVeyor]
53 [CircleCI]
54 [Codecov]
55 [PyPI]
56
57 ## Features
58
59 In addition to an ASN.1 BER/DER decoder and DER serializer, the project
60 includes
61 a bunch of ASN.1 structures for use with various common cryptography
62 standards:
63
64 | Standard               | Module                                      |
65 Source                                                                     
66                                            |
67 | ---------------------- | ------------------------------------------- |
68 ----------------------------------------------------------------------------------------------------------------------
69 |
70 | X.509                  | [`asn1crypto.x509`]     | [RFC 5280]            
71                                                            |
72 | CRL                    | [`asn1crypto.crl`]       | [RFC 5280]           
73                                                             |
74 | CSR                    | [`asn1crypto.csr`]       | [RFC 2986], [RFC
75 2985]                       |
76 | OCSP                   | [`asn1crypto.ocsp`]     | [RFC 6960]            
77                                                            |
78 | PKCS#12                | [`asn1crypto.pkcs12`] | [RFC 7292]              
79                                                          |
80 | PKCS#8                 | [`asn1crypto.keys`]     | [RFC 5208]            
81                                                            |
82 | PKCS#1 v2.1 (RSA keys) | [`asn1crypto.keys`]     | [RFC 3447]            
83                                                            |
84 | DSA keys               | [`asn1crypto.keys`]     | [RFC 3279]            
85                                                            |
86 | Elliptic curve keys    | [`asn1crypto.keys`]     | [SECG SEC1 V2]        
87                                                                |
88 | PKCS#3 v1.4            | [`asn1crypto.algos`]   | [PKCS#3 v1.4]          
89                                              |
90 | PKCS#5 v2.1            | [`asn1crypto.algos`]   | [PKCS#5 v2.1] |
91 | CMS (and PKCS#7)       | [`asn1crypto.cms`]       | [RFC 5652], [RFC
92 2315]                       |
93 | TSP                    | [`asn1crypto.tsp`]       | [RFC 3161]           
94                                                             |
95 | PDF signatures         | [`asn1crypto.pdf`]       | [PDF 1.7]            
96               |
97
98 ## Why Another Python ASN.1 Library?
99
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
104 the
105 library can be very poor, especially when dealing with bit fields and
106 parsing
107 large structures such as CRLs.
108
109 After spending extensive time using *pyasn1*, the following issues were
110 identified:
111
112  1. Poor performance
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
117
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
121 supports
122 out-dated versions of Python, many newer language features are unavailable
123 for use.
124
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
128 unreleased
129 patches and delaying parsing using the `Any` type. Even with such changes,
130 the
131 performance was still unacceptably slow.
132
133
134
135 [FILE:102:distinfo]
136 5a215cb8dc12f892244e3a113fe05397ee23c5c4ca7a69cd6e69811755efc42d       118481 asn1crypto-1.3.0.tar.gz
137