pyasn1-alt-modules 0.4.3__tar.gz → 0.4.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pyasn1-alt-modules might be problematic. Click here for more details.
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/CHANGES.txt +21 -25
- {pyasn1-alt-modules-0.4.3/pyasn1_alt_modules.egg-info → pyasn1_alt_modules-0.4.5}/PKG-INFO +4 -9
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/README.md +2 -2
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/__init__.py +1 -1
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc6402.py +11 -3
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8708.py +3 -2
- pyasn1_alt_modules-0.4.5/pyasn1_alt_modules/rfc8954.py +238 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc9480.py +18 -3
- pyasn1_alt_modules-0.4.5/pyasn1_alt_modules/rfc9548.py +23 -0
- pyasn1_alt_modules-0.4.5/pyasn1_alt_modules/rfc9579.py +89 -0
- pyasn1_alt_modules-0.4.5/pyasn1_alt_modules/rfc9582.py +107 -0
- pyasn1_alt_modules-0.4.5/pyasn1_alt_modules/rfc9598.py +52 -0
- pyasn1_alt_modules-0.4.5/pyasn1_alt_modules/rfc9608.py +35 -0
- pyasn1_alt_modules-0.4.5/pyasn1_alt_modules/rfc9629.py +100 -0
- pyasn1_alt_modules-0.4.5/pyasn1_alt_modules/rfc9654.py +241 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5/pyasn1_alt_modules.egg-info}/PKG-INFO +4 -9
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules.egg-info/SOURCES.txt +17 -1
- pyasn1_alt_modules-0.4.5/pyasn1_alt_modules.egg-info/requires.txt +1 -0
- pyasn1_alt_modules-0.4.5/requirements.txt +1 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/setup.cfg +2 -2
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/setup.py +7 -19
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/__main__.py +9 -2
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8708.py +2 -2
- pyasn1_alt_modules-0.4.5/tests/test_rfc8954.py +192 -0
- pyasn1_alt_modules-0.4.5/tests/test_rfc9548.py +56 -0
- pyasn1_alt_modules-0.4.5/tests/test_rfc9579.py +129 -0
- pyasn1_alt_modules-0.4.5/tests/test_rfc9582.py +117 -0
- pyasn1_alt_modules-0.4.5/tests/test_rfc9598.py +65 -0
- pyasn1_alt_modules-0.4.5/tests/test_rfc9608.py +65 -0
- pyasn1_alt_modules-0.4.5/tests/test_rfc9629.py +76 -0
- pyasn1_alt_modules-0.4.5/tests/test_rfc9654.py +177 -0
- pyasn1-alt-modules-0.4.3/pyasn1_alt_modules.egg-info/requires.txt +0 -1
- pyasn1-alt-modules-0.4.3/requirements.txt +0 -1
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/LICENSE.txt +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/MANIFEST.in +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/opentypemap.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/pem.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc1155.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc1157.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc1901.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc1902.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc1905.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc2040.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc2251.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc2314.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc2315.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc2437.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc2459.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc2511.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc2528.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc2560.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc2631.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc2634.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc2743.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc2876.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc2898.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc2985.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc2986.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3058.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3114.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3125.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3161.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3217.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3274.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3279.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3280.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3281.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3370.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3412.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3414.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3447.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3537.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3546.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3560.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3565.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3657.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3709.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3739.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3770.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3779.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3820.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3852.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc3874.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc4010.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc4043.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc4055.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc4056.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc4059.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc4073.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc4108.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc4210.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc4211.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc4231.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc4262.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc4334.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc4357.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc4366.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc4387.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc4476.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc4490.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc4491.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc4683.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc4985.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc4998.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5035.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5055.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5083.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5084.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5126.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5208.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5275.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5276.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5280.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5480.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5544.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5636.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5639.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5649.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5652.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5697.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5698.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5751.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5752.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5753.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5755.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5913.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5914.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5915.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5916.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5917.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5924.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5934.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5940.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5958.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc5990.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc6010.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc6019.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc6031.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc6032.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc6066.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc6120.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc6170.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc6187.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc6210.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc6211.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc6482.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc6484.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc6486.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc6487.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc6492.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc6493.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc6494.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc6664.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc6955.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc6960.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc6962.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc7030.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc7191.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc7229.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc7292.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc7296.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc7508.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc7585.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc7633.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc7693.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc7773.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc7836.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc7894.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc7906.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc7914.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8017.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8018.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8103.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8209.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8226.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8358.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8360.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8398.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8410.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8418.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8419.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8479.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8494.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8520.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8619.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8649.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8692.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8696.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8702.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8737.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8769.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8894.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8951.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8994.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc8995.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc9044.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc9092.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc9118.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc9174.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc9189.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc9215.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc9286.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc9289.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc9310.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc9323.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc9336.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc9337.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc9345.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc9385.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc9399.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc9481.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules/rfc9509.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules.egg-info/dependency_links.txt +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules.egg-info/top_level.txt +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/pyasn1_alt_modules.egg-info/zip-safe +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/__init__.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_opentypemap.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_pem.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc2040.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc2314.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc2315.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc2437.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc2459.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc2511.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc2528.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc2560.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc2631.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc2634.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc2743.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc2876.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc2898.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc2985.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc2986.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc3058.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc3114.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc3125.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc3161.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc3217.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc3274.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc3279.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc3280.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc3281.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc3370.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc3447.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc3537.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc3546.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc3560.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc3565.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc3657.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc3709.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc3739.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc3770.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc3779.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc3820.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc3852.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc3874.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc4010.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc4043.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc4055.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc4056.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc4059.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc4073.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc4108.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc4210.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc4211.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc4231.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc4262.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc4334.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc4357.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc4366.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc4387.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc4476.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc4490.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc4491.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc4683.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc4985.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc4998.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5035.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5055.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5083.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5084.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5126.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5208.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5275.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5276.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5280.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5480.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5544.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5636.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5639.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5649.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5652.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5697.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5698.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5751.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5752.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5753.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5755.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5913.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5914.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5915.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5916.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5917.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5924.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5934.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5940.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5958.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc5990.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc6010.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc6019.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc6031.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc6032.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc6066.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc6120.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc6170.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc6187.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc6210.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc6211.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc6402.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc6482.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc6484.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc6486.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc6487.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc6492.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc6493.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc6494.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc6664.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc6955.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc6960.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc6962.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc7030.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc7191.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc7229.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc7292.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc7296.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc7508.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc7585.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc7633.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc7693.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc7773.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc7836.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc7894.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc7906.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc7914.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8017.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8018.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8103.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8209.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8226.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8358.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8360.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8398.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8410.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8418.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8419.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8479.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8494.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8520.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8619.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8649.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8692.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8696.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8702.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8737.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8769.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8894.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8951.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8994.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc8995.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc9044.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc9092.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc9118.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc9174.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc9189.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc9215.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc9286.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc9289.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc9310.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc9323.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc9336.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc9337.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc9345.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc9385.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc9399.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc9480.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc9481.py +0 -0
- {pyasn1-alt-modules-0.4.3 → pyasn1_alt_modules-0.4.5}/tests/test_rfc9509.py +0 -0
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
Revision 0.4.5, released 02-09-2024
|
|
2
|
+
-----------------------------------
|
|
3
|
+
- Require pyasn1 0.5.0 to force people to the maintained version
|
|
4
|
+
- Dropped support for EOL Python 2.7, 3.6, and 3.7
|
|
5
|
+
- Added RFC9598 for Internationalized Email Addresses in X.509 Certificates
|
|
6
|
+
- Added RFC9582 for RPKI Route Origin Authorizations (ROAs)
|
|
7
|
+
- Added RFC9579 for Use of PBMAC1 in the PKCS #12 Syntax
|
|
8
|
+
- Improve RFC9480 by updating the algorithm identifier map and fix typo
|
|
9
|
+
- Improve RFC8708 by addressing errata eid7963, which only changes a comment
|
|
10
|
+
- Added RFC9608 for the noRevAvail Certificate Extension
|
|
11
|
+
- Improve RFC6401 by addressing errata eid3943, eid5931, and eid6571
|
|
12
|
+
- Added RFC9629 for CMS KEMRecipientInfo
|
|
13
|
+
- Added RFC9654 for Online Certificate Status Protocol (OCSP) Nonce Extension
|
|
14
|
+
|
|
15
|
+
Revision 0.4.4, released 03-22-2024
|
|
16
|
+
-----------------------------------
|
|
17
|
+
- Added support for Python 3.12, and dropped support for Python 3.5.
|
|
18
|
+
- Added RFC9548 for Generating Transport Key Containers Using the GOST Algorithms
|
|
19
|
+
- Added RFC8964 for Online Certificate Status Protocol (OCSP) with Nonce constraints
|
|
20
|
+
- Modified RFC9480 (CMP updates) to make InfoTypeAndValue['infoType'] optional
|
|
21
|
+
|
|
1
22
|
Revision 0.4.3, released 08-02-2024
|
|
2
23
|
-----------------------------------
|
|
3
24
|
- Update the copyright comment lines for 2024
|
|
@@ -146,7 +167,6 @@ Revision 0.3.0, released 08-06-2021
|
|
|
146
167
|
|
|
147
168
|
Revision 0.2.8, released 16-11-2019
|
|
148
169
|
-----------------------------------
|
|
149
|
-
|
|
150
170
|
- Improve test routines for modules that use certificate extensions
|
|
151
171
|
- Improve test for RFC3709 with a real world certificate
|
|
152
172
|
- Added RFC7633 providing TLS Features Certificate Extension
|
|
@@ -187,7 +207,6 @@ Revision 0.2.8, released 16-11-2019
|
|
|
187
207
|
|
|
188
208
|
Revision 0.2.7, released 09-10-2019
|
|
189
209
|
-----------------------------------
|
|
190
|
-
|
|
191
210
|
- Added maps for use with openType to RFC 3565
|
|
192
211
|
- Added RFC2985 providing PKCS#9 Attributes
|
|
193
212
|
- Added RFC3770 providing Certificate Extensions and Attributes for
|
|
@@ -235,7 +254,6 @@ Revision 0.2.7, released 09-10-2019
|
|
|
235
254
|
|
|
236
255
|
Revision 0.2.6, released 31-07-2019
|
|
237
256
|
-----------------------------------
|
|
238
|
-
|
|
239
257
|
- Added RFC3560 providing RSAES-OAEP Key Transport Algorithm
|
|
240
258
|
in CMS
|
|
241
259
|
- Added RFC6019 providing BinaryTime - an alternate format
|
|
@@ -278,7 +296,6 @@ Revision 0.2.6, released 31-07-2019
|
|
|
278
296
|
|
|
279
297
|
Revision 0.2.5, released 24-04-2019
|
|
280
298
|
-----------------------------------
|
|
281
|
-
|
|
282
299
|
- Added module RFC5958 providing Asymmetric Key Packages,
|
|
283
300
|
which is essentially version 2 of the PrivateKeyInfo
|
|
284
301
|
structure in PKCS#8 in RFC 5208
|
|
@@ -298,68 +315,57 @@ Revision 0.2.5, released 24-04-2019
|
|
|
298
315
|
|
|
299
316
|
Revision 0.2.4, released 26-01-2018
|
|
300
317
|
-----------------------------------
|
|
301
|
-
|
|
302
318
|
- Added modules for RFC8226 implementing JWT Claim Constraints
|
|
303
319
|
and TN Authorization List for X.509 certificate extensions
|
|
304
320
|
- Fixed bug in `rfc5280.AlgorithmIdentifier` ANY type definition
|
|
305
321
|
|
|
306
322
|
Revision 0.2.3, released 30-12-2018
|
|
307
323
|
-----------------------------------
|
|
308
|
-
|
|
309
324
|
- Added modules for RFC5083 and RFC5084 (CMS)
|
|
310
325
|
- Copyright notice extended to the year 2019
|
|
311
326
|
|
|
312
327
|
Revision 0.2.2, released 28-06-2018
|
|
313
328
|
-----------------------------------
|
|
314
|
-
|
|
315
329
|
- Copyright notice extended to the year 2018
|
|
316
330
|
- Migrated references from SourceForge
|
|
317
331
|
- rfc2986 module added
|
|
318
332
|
|
|
319
333
|
Revision 0.2.1, released 23-11-2017
|
|
320
334
|
-----------------------------------
|
|
321
|
-
|
|
322
335
|
- Allow ANY DEFINED BY objects expanding automatically if requested
|
|
323
336
|
- Imports PEP8'ed
|
|
324
337
|
|
|
325
338
|
Revision 0.1.5, released 10-10-2017
|
|
326
339
|
-----------------------------------
|
|
327
|
-
|
|
328
340
|
- OCSP response blob fixed in test
|
|
329
341
|
- Fixed wrong OCSP ResponderID components tagging
|
|
330
342
|
|
|
331
343
|
Revision 0.1.4, released 07-09-2017
|
|
332
344
|
-----------------------------------
|
|
333
|
-
|
|
334
345
|
- Typo fixed in the dependency spec
|
|
335
346
|
|
|
336
347
|
Revision 0.1.3, released 07-09-2017
|
|
337
348
|
-----------------------------------
|
|
338
|
-
|
|
339
349
|
- Apparently, pip>=1.5.6 is still widely used and it is not PEP440
|
|
340
350
|
compliant. Had to replace the `~=` version dependency spec with a
|
|
341
351
|
sequence of simple comparisons to remain compatible with the aging pip.
|
|
342
352
|
|
|
343
353
|
Revision 0.1.2, released 07-09-2017
|
|
344
354
|
-----------------------------------
|
|
345
|
-
|
|
346
355
|
- Pinned to pyasn1 ~0.3.4
|
|
347
356
|
|
|
348
357
|
Revision 0.1.1, released 27-08-2017
|
|
349
358
|
-----------------------------------
|
|
350
|
-
|
|
351
359
|
- Tests refactored into proper unit tests
|
|
352
360
|
- pem.readBase64fromText() convenience function added
|
|
353
361
|
- Pinned to pyasn1 0.3.3
|
|
354
362
|
|
|
355
363
|
Revision 0.0.11, released 04-08-2017
|
|
356
364
|
------------------------------------
|
|
357
|
-
|
|
358
365
|
- Fixed typo in ASN.1 definitions at rfc2315.py
|
|
359
366
|
|
|
360
367
|
Revision 0.0.10, released 27-07-2017
|
|
361
368
|
------------------------------------
|
|
362
|
-
|
|
363
369
|
* Fixed SequenceOf initializer to pass now-mandatory componentType
|
|
364
370
|
keyword argument (since pyasn1 0.3.1)
|
|
365
371
|
* Temporarily fixed recursive ASN.1 type definition to work with
|
|
@@ -367,7 +373,6 @@ Revision 0.0.10, released 27-07-2017
|
|
|
367
373
|
|
|
368
374
|
Revision 0.0.9, released 01-06-2017
|
|
369
375
|
-----------------------------------
|
|
370
|
-
|
|
371
376
|
* More CRL data structures added (RFC3279)
|
|
372
377
|
* Added X.509 certificate extensions map
|
|
373
378
|
* Added X.509 attribute type map
|
|
@@ -378,7 +383,6 @@ Revision 0.0.9, released 01-06-2017
|
|
|
378
383
|
|
|
379
384
|
Revision 0.0.8, released 28-09-2015
|
|
380
385
|
-----------------------------------
|
|
381
|
-
|
|
382
386
|
- Wheel distribution format now supported
|
|
383
387
|
- Fix to misspelled rfc2459.id_at_sutname variable
|
|
384
388
|
- Fix to misspelled rfc2459.NameConstraints component tag ID
|
|
@@ -386,20 +390,17 @@ Revision 0.0.8, released 28-09-2015
|
|
|
386
390
|
|
|
387
391
|
Revision 0.0.7, released 01-08-2015
|
|
388
392
|
-----------------------------------
|
|
389
|
-
|
|
390
393
|
- Extensions added to text files, CVS attic flushed.
|
|
391
394
|
- Fix to rfc2459.BasicConstraints syntax.
|
|
392
395
|
|
|
393
396
|
Revision 0.0.6, released 21-06-2015
|
|
394
397
|
-----------------------------------
|
|
395
|
-
|
|
396
398
|
- Typo fix to id_kp_serverAuth object value
|
|
397
399
|
- A test case for indefinite length encoding eliminated as it's
|
|
398
400
|
forbidden in DER.
|
|
399
401
|
|
|
400
402
|
Revision 0.0.5
|
|
401
403
|
--------------
|
|
402
|
-
|
|
403
404
|
- License updated to vanilla BSD 2-Clause to ease package use
|
|
404
405
|
(http://opensource.org/licenses/BSD-2-Clause).
|
|
405
406
|
- Missing components added to rfc4210.PKIBody.
|
|
@@ -408,7 +409,6 @@ Revision 0.0.5
|
|
|
408
409
|
|
|
409
410
|
Revision 0.0.4
|
|
410
411
|
--------------
|
|
411
|
-
|
|
412
412
|
- CMP structures (RFC4210), cmpdump.py tool and test case added.
|
|
413
413
|
- SNMPv2c Message syntax (RFC1901) properly defined.
|
|
414
414
|
- Package version established in form of __init__.__version__
|
|
@@ -417,7 +417,6 @@ Revision 0.0.4
|
|
|
417
417
|
|
|
418
418
|
Revision 0.0.3
|
|
419
419
|
--------------
|
|
420
|
-
|
|
421
420
|
- Text cases implemented
|
|
422
421
|
- X.509 CRMF structures (RFC2511) and crmfdump.py tool added
|
|
423
422
|
- X.509 CRL structures and crldump.py tool added
|
|
@@ -430,10 +429,8 @@ Revision 0.0.3
|
|
|
430
429
|
- PEM files read function generalized to be used more universally.
|
|
431
430
|
- complete PKIX1 '88 code implemented at rfc2459.py
|
|
432
431
|
|
|
433
|
-
|
|
434
432
|
Revision 0.0.2
|
|
435
433
|
--------------
|
|
436
|
-
|
|
437
434
|
- Require pyasn1 >= 0.1.1
|
|
438
435
|
- Fixes towards Py3K compatibility
|
|
439
436
|
+ use either of existing urllib module
|
|
@@ -443,5 +440,4 @@ Revision 0.0.2
|
|
|
443
440
|
|
|
444
441
|
Revision 0.0.1a
|
|
445
442
|
---------------
|
|
446
|
-
|
|
447
443
|
- Initial revision, most code carried from pyasn1 examples.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pyasn1-alt-modules
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.5
|
|
4
4
|
Summary: A alternate collection of ASN.1-based protocols modules.
|
|
5
5
|
Home-page: https://github.com/russhousley/pyasn1-alt-modules
|
|
6
6
|
Author: Russ Housley
|
|
@@ -18,22 +18,17 @@ Classifier: Intended Audience :: Telecommunications Industry
|
|
|
18
18
|
Classifier: License :: OSI Approved :: BSD License
|
|
19
19
|
Classifier: Natural Language :: English
|
|
20
20
|
Classifier: Operating System :: OS Independent
|
|
21
|
-
Classifier: Programming Language :: Python :: 2
|
|
22
|
-
Classifier: Programming Language :: Python :: 2.7
|
|
23
21
|
Classifier: Programming Language :: Python :: 3
|
|
24
|
-
Classifier: Programming Language :: Python :: 3.5
|
|
25
|
-
Classifier: Programming Language :: Python :: 3.6
|
|
26
|
-
Classifier: Programming Language :: Python :: 3.7
|
|
27
22
|
Classifier: Programming Language :: Python :: 3.8
|
|
28
23
|
Classifier: Programming Language :: Python :: 3.9
|
|
29
24
|
Classifier: Programming Language :: Python :: 3.10
|
|
30
25
|
Classifier: Programming Language :: Python :: 3.11
|
|
26
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
31
27
|
Classifier: Topic :: Communications
|
|
32
|
-
Classifier: Topic :: System :: Monitoring
|
|
33
|
-
Classifier: Topic :: System :: Networking :: Monitoring
|
|
34
28
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
35
|
-
Requires-Python: >=
|
|
29
|
+
Requires-Python: >=3.8
|
|
36
30
|
Description-Content-Type: text/plain
|
|
37
31
|
License-File: LICENSE.txt
|
|
32
|
+
Requires-Dist: pyasn1>=0.5.0
|
|
38
33
|
|
|
39
34
|
A collection of ASN.1 modules expressed in form of pyasn1 classes. Includes protocols PDUs definition (SNMP, LDAP, OCSP, and so on) as well as various data structures (X.509, PKCS, and so on).
|
|
@@ -8,7 +8,7 @@ Alternative ASN.1 modules for pyasn1
|
|
|
8
8
|
The `pyasn1-alt-modules` package contains a collection of
|
|
9
9
|
[ASN.1](https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-X.208-198811-W!!PDF-E&type=items)
|
|
10
10
|
data structures expressed as Python classes based on [pyasn1](https://github.com/etingof/pyasn1)
|
|
11
|
-
data model.
|
|
11
|
+
data model. Maintenance of pyasn1 has shifted to [pyasn1-maint](https://github.com/pyasn1/pyasn1).
|
|
12
12
|
|
|
13
13
|
It seems that [pyasn1-modules](https://github.com/etingof/pyasn1-modules) is no
|
|
14
14
|
longer being maintained. As a result, the `pyasn1-alt-modules` package was
|
|
@@ -25,7 +25,7 @@ Feedback
|
|
|
25
25
|
--------
|
|
26
26
|
|
|
27
27
|
If something does not work as expected,
|
|
28
|
-
[open an issue](https://github.com/russhousley/pyasn1-alt-modules/issues)
|
|
28
|
+
[open an issue](https://github.com/russhousley/pyasn1-alt-modules/issues) on GitHub.
|
|
29
29
|
|
|
30
30
|
Additional module contributions are welcome via GitHub pull requests.
|
|
31
31
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# http://www.python.org/dev/peps/pep-0396/
|
|
2
|
-
__version__ = '0.4.
|
|
2
|
+
__version__ = '0.4.5'
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
# Modified by Russ Housley to add a maps for CMC Control Attributes
|
|
7
7
|
# and CMC Content Types for use with opentypes.
|
|
8
8
|
# Modified by Russ Housley to include the opentypemap manager.
|
|
9
|
+
# Modified by Russ Housley for errata 3943, 5931, and 6571.
|
|
9
10
|
#
|
|
10
11
|
# Copyright (c) 2005-2020, Ilya Etingof <etingof@gmail.com>
|
|
11
12
|
# Copyright (c) 2021-2024, Vigil Security, LLC
|
|
@@ -15,6 +16,9 @@
|
|
|
15
16
|
#
|
|
16
17
|
# ASN.1 source from:
|
|
17
18
|
# https://www.rfc-editor.org/rfc/rfc6402.txt
|
|
19
|
+
# https://www.rfc-editor.org/errata/eid3943
|
|
20
|
+
# https://www.rfc-editor.org/errata/eid5931
|
|
21
|
+
# https://www.rfc-editor.org/errata/eid6571
|
|
18
22
|
#
|
|
19
23
|
from pyasn1.type import char
|
|
20
24
|
from pyasn1.type import constraint
|
|
@@ -57,9 +61,11 @@ class ChangeSubjectName(univ.Sequence):
|
|
|
57
61
|
pass
|
|
58
62
|
|
|
59
63
|
|
|
64
|
+
# https://www.rfc-editor.org/errata/eid3943
|
|
60
65
|
ChangeSubjectName.componentType = namedtype.NamedTypes(
|
|
61
66
|
namedtype.OptionalNamedType('subject', rfc5280.Name()),
|
|
62
|
-
namedtype.OptionalNamedType('subjectAlt', rfc5280.GeneralNames()
|
|
67
|
+
namedtype.OptionalNamedType('subjectAlt', rfc5280.GeneralNames().subtype(
|
|
68
|
+
implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1)))
|
|
63
69
|
)
|
|
64
70
|
|
|
65
71
|
|
|
@@ -159,7 +165,8 @@ CMCStatusInfoV2.componentType = namedtype.NamedTypes(
|
|
|
159
165
|
componentType=namedtype.NamedTypes(
|
|
160
166
|
namedtype.NamedType('failInfoOID', univ.ObjectIdentifier()),
|
|
161
167
|
namedtype.NamedType('failInfoValue', AttributeValue()))
|
|
162
|
-
)
|
|
168
|
+
).subtype(implicitTag=tag.Tag(
|
|
169
|
+
tag.tagClassContext, tag.tagFormatConstructed, 1))
|
|
163
170
|
)
|
|
164
171
|
)
|
|
165
172
|
)
|
|
@@ -501,7 +508,8 @@ class ExtensionReq(univ.SequenceOf):
|
|
|
501
508
|
ExtensionReq.componentType = rfc5280.Extension()
|
|
502
509
|
ExtensionReq.sizeSpec = constraint.ValueSizeConstraint(1, MAX)
|
|
503
510
|
|
|
504
|
-
|
|
511
|
+
# https://www.rfc-editor.org/errata/eid5931
|
|
512
|
+
id_kp_cmcArchive = _buildOid(rfc5280.id_kp, 29)
|
|
505
513
|
|
|
506
514
|
id_cmc_publishCert = _buildOid(id_cmc, 30)
|
|
507
515
|
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
#
|
|
10
10
|
# ASN.1 source from:
|
|
11
11
|
# https://www.rfc-editor.org/rfc/rfc8708.txt
|
|
12
|
+
# https://www.rfc-editor.org/errata/eid7963
|
|
12
13
|
|
|
13
14
|
|
|
14
15
|
from pyasn1.type import univ
|
|
@@ -38,5 +39,5 @@ class HSS_LMS_HashSig_PublicKey(univ.OctetString):
|
|
|
38
39
|
|
|
39
40
|
pk_HSS_LMS_HashSig = rfc5280.SubjectPublicKeyInfo()
|
|
40
41
|
pk_HSS_LMS_HashSig['algorithm'] = sa_HSS_LMS_HashSig
|
|
41
|
-
# pk_HSS_LMS_HashSig['subjectPublicKey'] CONTAINS
|
|
42
|
-
#
|
|
42
|
+
# pk_HSS_LMS_HashSig['subjectPublicKey'] CONTAINS the
|
|
43
|
+
# HSS/LMS public key without any ASN.1 encoding
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
#
|
|
2
|
+
# This file is part of pyasn1-alt-modules software.
|
|
3
|
+
#
|
|
4
|
+
# Created by Russ Housley.
|
|
5
|
+
#
|
|
6
|
+
# Copyright (c) 2024, Vigil Security, LLC
|
|
7
|
+
# License: http://vigilsec.com/pyasn1-alt-modules-license.txt
|
|
8
|
+
#
|
|
9
|
+
# Online Certificate Status Protocol (OCSP) with nonce size constraints
|
|
10
|
+
#
|
|
11
|
+
# ASN.1 source from:
|
|
12
|
+
# https://www.rfc-editor.org/rfc/rfc6960.txt
|
|
13
|
+
# https://www.rfc-editor.org/rfc/rfc8954.txt
|
|
14
|
+
#
|
|
15
|
+
|
|
16
|
+
from pyasn1.type import char
|
|
17
|
+
from pyasn1.type import constraint
|
|
18
|
+
from pyasn1.type import namedtype
|
|
19
|
+
from pyasn1.type import tag
|
|
20
|
+
from pyasn1.type import univ
|
|
21
|
+
from pyasn1.type import useful
|
|
22
|
+
|
|
23
|
+
from pyasn1_alt_modules import rfc2560
|
|
24
|
+
from pyasn1_alt_modules import rfc5280
|
|
25
|
+
from pyasn1_alt_modules import opentypemap
|
|
26
|
+
|
|
27
|
+
certificateExtensionsMap = opentypemap.get('certificateExtensionsMap')
|
|
28
|
+
|
|
29
|
+
ocspResponseMap = opentypemap.get('ocspResponseMap')
|
|
30
|
+
|
|
31
|
+
MAX = float('inf')
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
# Imports from RFC 5280
|
|
35
|
+
|
|
36
|
+
AlgorithmIdentifier = rfc5280.AlgorithmIdentifier
|
|
37
|
+
AuthorityInfoAccessSyntax = rfc5280.AuthorityInfoAccessSyntax
|
|
38
|
+
Certificate = rfc5280.Certificate
|
|
39
|
+
CertificateSerialNumber = rfc5280.CertificateSerialNumber
|
|
40
|
+
CRLReason = rfc5280.CRLReason
|
|
41
|
+
Extensions = rfc5280.Extensions
|
|
42
|
+
GeneralName = rfc5280.GeneralName
|
|
43
|
+
Name = rfc5280.Name
|
|
44
|
+
|
|
45
|
+
id_kp = rfc5280.id_kp
|
|
46
|
+
|
|
47
|
+
id_ad_ocsp = rfc5280.id_ad_ocsp
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
# Imports from the original OCSP module in RFC 2560
|
|
51
|
+
|
|
52
|
+
AcceptableResponses = rfc2560.AcceptableResponses
|
|
53
|
+
ArchiveCutoff = rfc2560.ArchiveCutoff
|
|
54
|
+
CertStatus = rfc2560.CertStatus
|
|
55
|
+
KeyHash = rfc2560.KeyHash
|
|
56
|
+
OCSPResponse = rfc2560.OCSPResponse
|
|
57
|
+
OCSPResponseStatus = rfc2560.OCSPResponseStatus
|
|
58
|
+
ResponseBytes = rfc2560.ResponseBytes
|
|
59
|
+
RevokedInfo = rfc2560.RevokedInfo
|
|
60
|
+
UnknownInfo = rfc2560.UnknownInfo
|
|
61
|
+
Version = rfc2560.Version
|
|
62
|
+
|
|
63
|
+
id_kp_OCSPSigning = rfc2560.id_kp_OCSPSigning
|
|
64
|
+
|
|
65
|
+
id_pkix_ocsp = rfc2560.id_pkix_ocsp
|
|
66
|
+
id_pkix_ocsp_archive_cutoff = rfc2560.id_pkix_ocsp_archive_cutoff
|
|
67
|
+
id_pkix_ocsp_basic = rfc2560.id_pkix_ocsp_basic
|
|
68
|
+
id_pkix_ocsp_crl = rfc2560.id_pkix_ocsp_crl
|
|
69
|
+
id_pkix_ocsp_nocheck = rfc2560.id_pkix_ocsp_nocheck
|
|
70
|
+
id_pkix_ocsp_nonce = rfc2560.id_pkix_ocsp_nonce
|
|
71
|
+
id_pkix_ocsp_response = rfc2560.id_pkix_ocsp_response
|
|
72
|
+
id_pkix_ocsp_service_locator = rfc2560.id_pkix_ocsp_service_locator
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
# Additional object identifiers
|
|
76
|
+
|
|
77
|
+
id_pkix_ocsp_pref_sig_algs = id_pkix_ocsp + (8, )
|
|
78
|
+
id_pkix_ocsp_extended_revoke = id_pkix_ocsp + (9, )
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
# Updated structures (mostly to improve openTypes support)
|
|
82
|
+
|
|
83
|
+
class CertID(univ.Sequence):
|
|
84
|
+
componentType = namedtype.NamedTypes(
|
|
85
|
+
namedtype.NamedType('hashAlgorithm', AlgorithmIdentifier()),
|
|
86
|
+
namedtype.NamedType('issuerNameHash', univ.OctetString()),
|
|
87
|
+
namedtype.NamedType('issuerKeyHash', univ.OctetString()),
|
|
88
|
+
namedtype.NamedType('serialNumber', CertificateSerialNumber())
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
class SingleResponse(univ.Sequence):
|
|
93
|
+
componentType = namedtype.NamedTypes(
|
|
94
|
+
namedtype.NamedType('certID', CertID()),
|
|
95
|
+
namedtype.NamedType('certStatus', CertStatus()),
|
|
96
|
+
namedtype.NamedType('thisUpdate', useful.GeneralizedTime()),
|
|
97
|
+
namedtype.OptionalNamedType('nextUpdate', useful.GeneralizedTime().subtype(
|
|
98
|
+
explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))),
|
|
99
|
+
namedtype.OptionalNamedType('singleExtensions', Extensions().subtype(
|
|
100
|
+
explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1)))
|
|
101
|
+
)
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
class ResponderID(univ.Choice):
|
|
105
|
+
componentType = namedtype.NamedTypes(
|
|
106
|
+
namedtype.NamedType('byName', Name().subtype(
|
|
107
|
+
explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))),
|
|
108
|
+
namedtype.NamedType('byKey', KeyHash().subtype(
|
|
109
|
+
explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 2)))
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
class ResponseData(univ.Sequence):
|
|
114
|
+
componentType = namedtype.NamedTypes(
|
|
115
|
+
namedtype.DefaultedNamedType('version', Version('v1').subtype(
|
|
116
|
+
explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))),
|
|
117
|
+
namedtype.NamedType('responderID', ResponderID()),
|
|
118
|
+
namedtype.NamedType('producedAt', useful.GeneralizedTime()),
|
|
119
|
+
namedtype.NamedType('responses', univ.SequenceOf(
|
|
120
|
+
componentType=SingleResponse())),
|
|
121
|
+
namedtype.OptionalNamedType('responseExtensions', Extensions().subtype(
|
|
122
|
+
explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1)))
|
|
123
|
+
)
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
class BasicOCSPResponse(univ.Sequence):
|
|
127
|
+
componentType = namedtype.NamedTypes(
|
|
128
|
+
namedtype.NamedType('tbsResponseData', ResponseData()),
|
|
129
|
+
namedtype.NamedType('signatureAlgorithm', AlgorithmIdentifier()),
|
|
130
|
+
namedtype.NamedType('signature', univ.BitString()),
|
|
131
|
+
namedtype.OptionalNamedType('certs', univ.SequenceOf(
|
|
132
|
+
componentType=Certificate()).subtype(explicitTag=tag.Tag(
|
|
133
|
+
tag.tagClassContext, tag.tagFormatSimple, 0)))
|
|
134
|
+
)
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
class Request(univ.Sequence):
|
|
138
|
+
componentType = namedtype.NamedTypes(
|
|
139
|
+
namedtype.NamedType('reqCert', CertID()),
|
|
140
|
+
namedtype.OptionalNamedType('singleRequestExtensions', Extensions().subtype(
|
|
141
|
+
explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0)))
|
|
142
|
+
)
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
class Signature(univ.Sequence):
|
|
146
|
+
componentType = namedtype.NamedTypes(
|
|
147
|
+
namedtype.NamedType('signatureAlgorithm', AlgorithmIdentifier()),
|
|
148
|
+
namedtype.NamedType('signature', univ.BitString()),
|
|
149
|
+
namedtype.OptionalNamedType('certs', univ.SequenceOf(
|
|
150
|
+
componentType=Certificate()).subtype(explicitTag=tag.Tag(
|
|
151
|
+
tag.tagClassContext, tag.tagFormatSimple, 0)))
|
|
152
|
+
)
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
class TBSRequest(univ.Sequence):
|
|
156
|
+
componentType = namedtype.NamedTypes(
|
|
157
|
+
namedtype.DefaultedNamedType('version', Version('v1').subtype(
|
|
158
|
+
explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))),
|
|
159
|
+
namedtype.OptionalNamedType('requestorName', GeneralName().subtype(
|
|
160
|
+
explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))),
|
|
161
|
+
namedtype.NamedType('requestList', univ.SequenceOf(
|
|
162
|
+
componentType=Request())),
|
|
163
|
+
namedtype.OptionalNamedType('requestExtensions', Extensions().subtype(
|
|
164
|
+
explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 2)))
|
|
165
|
+
)
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
class OCSPRequest(univ.Sequence):
|
|
169
|
+
componentType = namedtype.NamedTypes(
|
|
170
|
+
namedtype.NamedType('tbsRequest', TBSRequest()),
|
|
171
|
+
namedtype.OptionalNamedType('optionalSignature', Signature().subtype(
|
|
172
|
+
explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0)))
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
# Previously omitted structure
|
|
177
|
+
|
|
178
|
+
class ServiceLocator(univ.Sequence):
|
|
179
|
+
componentType = namedtype.NamedTypes(
|
|
180
|
+
namedtype.NamedType('issuer', Name()),
|
|
181
|
+
namedtype.NamedType('locator', AuthorityInfoAccessSyntax())
|
|
182
|
+
)
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
# Additional structures
|
|
186
|
+
|
|
187
|
+
class CrlID(univ.Sequence):
|
|
188
|
+
componentType = namedtype.NamedTypes(
|
|
189
|
+
namedtype.OptionalNamedType('crlUrl', char.IA5String().subtype(
|
|
190
|
+
explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))),
|
|
191
|
+
namedtype.OptionalNamedType('crlNum', univ.Integer().subtype(
|
|
192
|
+
explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))),
|
|
193
|
+
namedtype.OptionalNamedType('crlTime', useful.GeneralizedTime().subtype(
|
|
194
|
+
explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 2)))
|
|
195
|
+
)
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
class PreferredSignatureAlgorithm(univ.Sequence):
|
|
199
|
+
componentType = namedtype.NamedTypes(
|
|
200
|
+
namedtype.NamedType('sigIdentifier', AlgorithmIdentifier()),
|
|
201
|
+
namedtype.OptionalNamedType('certIdentifier', AlgorithmIdentifier())
|
|
202
|
+
)
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
class PreferredSignatureAlgorithms(univ.SequenceOf):
|
|
206
|
+
componentType = PreferredSignatureAlgorithm()
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
class Nonce(univ.OctetString):
|
|
210
|
+
subtypeSpec = constraint.ValueSizeConstraint(1, 32)
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
# Update the OCSP Response Map
|
|
214
|
+
|
|
215
|
+
_ocspResponseMapUpdate = {
|
|
216
|
+
id_pkix_ocsp_basic: BasicOCSPResponse(),
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
ocspResponseMap.update(_ocspResponseMapUpdate)
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
# Update the Certificate Extension Extensions Map
|
|
223
|
+
|
|
224
|
+
_certificateExtensionsMapUpdate = {
|
|
225
|
+
# Certificate Extension
|
|
226
|
+
id_pkix_ocsp_nocheck: univ.Null(""),
|
|
227
|
+
# OCSP Request Extensions
|
|
228
|
+
id_pkix_ocsp_nonce: Nonce(),
|
|
229
|
+
id_pkix_ocsp_response: AcceptableResponses(),
|
|
230
|
+
id_pkix_ocsp_service_locator: ServiceLocator(),
|
|
231
|
+
id_pkix_ocsp_pref_sig_algs: PreferredSignatureAlgorithms(),
|
|
232
|
+
# OCSP Response Extensions
|
|
233
|
+
id_pkix_ocsp_crl: CrlID(),
|
|
234
|
+
id_pkix_ocsp_archive_cutoff: ArchiveCutoff(),
|
|
235
|
+
id_pkix_ocsp_extended_revoke: univ.Null(""),
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
certificateExtensionsMap.update(_certificateExtensionsMapUpdate)
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
# This file is part of pyasn1_alt_modules software.
|
|
3
3
|
#
|
|
4
4
|
# Created by Russ Housley with minor assistance from asn1ate v.0.6.0.
|
|
5
|
+
# Modified by Russ Housley to make InfoTypeAndValue['infoType'] optional.
|
|
6
|
+
# Modified by Russ Housley to update the algorithmIdentifierMap.
|
|
7
|
+
# Modified bt Russ Housley to correct typo in SignKeyPairTypesValue.
|
|
5
8
|
#
|
|
6
9
|
# Copyright (c) 2021-2024, Vigil Security, LLC
|
|
7
10
|
# License: http://vigilsec.com/pyasn1_alt_modules_license.txt
|
|
@@ -29,6 +32,8 @@ from pyasn1_alt_modules import rfc5652
|
|
|
29
32
|
from pyasn1_alt_modules import rfc6402
|
|
30
33
|
from pyasn1_alt_modules import opentypemap
|
|
31
34
|
|
|
35
|
+
algorithmIdentifierMap = opentypemap.get('algorithmIdentifierMap')
|
|
36
|
+
|
|
32
37
|
cmpInfoTypeAndValueMap = opentypemap.get('cmpInfoTypeAndValueMap')
|
|
33
38
|
|
|
34
39
|
cmsAttributesMap = opentypemap.get('cmsAttributesMap')
|
|
@@ -143,7 +148,7 @@ RevReqContent = rfc4210.RevReqContent
|
|
|
143
148
|
class InfoTypeAndValue(univ.Sequence):
|
|
144
149
|
componentType = namedtype.NamedTypes(
|
|
145
150
|
namedtype.NamedType('infoType', univ.ObjectIdentifier()),
|
|
146
|
-
namedtype.
|
|
151
|
+
namedtype.OptionalNamedType('infoValue', univ.Any(),
|
|
147
152
|
openType=opentype.OpenType('infoType', cmpInfoTypeAndValueMap))
|
|
148
153
|
)
|
|
149
154
|
|
|
@@ -536,7 +541,7 @@ class CAProtEncCertValue(CMPCertificate):
|
|
|
536
541
|
|
|
537
542
|
id_it_signKeyPairTypes = id_it + (2,)
|
|
538
543
|
|
|
539
|
-
class
|
|
544
|
+
class SignKeyPairTypesValue(univ.SequenceOf):
|
|
540
545
|
componentType = AlgorithmIdentifier()
|
|
541
546
|
|
|
542
547
|
|
|
@@ -674,7 +679,7 @@ class CRLsValue(univ.SequenceOf):
|
|
|
674
679
|
|
|
675
680
|
_cmpInfoTypeAndValueMapUpdate = {
|
|
676
681
|
id_it_caProtEncCert: CAProtEncCertValue(),
|
|
677
|
-
id_it_signKeyPairTypes:
|
|
682
|
+
id_it_signKeyPairTypes: SignKeyPairTypesValue(),
|
|
678
683
|
id_it_encKeyPairTypes: EncKeyPairTypesValue(),
|
|
679
684
|
id_it_preferredSymmAlg: PreferredSymmAlgValue(),
|
|
680
685
|
id_it_caKeyUpdateInfo: CAKeyUpdateInfoValue(),
|
|
@@ -710,6 +715,16 @@ _cmsAttributesMapUpdate = {
|
|
|
710
715
|
cmsAttributesMap.update(_cmsAttributesMapUpdate)
|
|
711
716
|
|
|
712
717
|
|
|
718
|
+
# Update the Algorithm Identifier map
|
|
719
|
+
|
|
720
|
+
_algorithmIdentifierMapUpdate = {
|
|
721
|
+
id_PasswordBasedMac: PBMParameter(),
|
|
722
|
+
id_DHBasedMac: DHBMParameter(),
|
|
723
|
+
}
|
|
724
|
+
|
|
725
|
+
algorithmIdentifierMap.update(_algorithmIdentifierMapUpdate)
|
|
726
|
+
|
|
727
|
+
|
|
713
728
|
# Since pyasn1 does not naturally handle recursive definitions, this hack:
|
|
714
729
|
#
|
|
715
730
|
NestedMessageContent._componentType = PKIMessages()
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#
|
|
2
|
+
# This file is part of pyasn1-alt-modules software.
|
|
3
|
+
#
|
|
4
|
+
# Created by Russ Housley.
|
|
5
|
+
#
|
|
6
|
+
# Copyright (c) 2024, Vigil Security, LLC
|
|
7
|
+
# License: http://vigilsec.com/pyasn1-alt-modules-license.txt
|
|
8
|
+
#
|
|
9
|
+
# Generating Transport Key Containers Using the GOST Algorithms
|
|
10
|
+
#
|
|
11
|
+
# ASN.1 source from:
|
|
12
|
+
# https://www.rfc-editor.org/rfc/rfc9548.txt
|
|
13
|
+
#
|
|
14
|
+
|
|
15
|
+
from pyasn1_alt_modules import rfc9215
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
# Import from RFC 9215
|
|
19
|
+
|
|
20
|
+
GostR3410_2012_PublicKey = rfc9215.GostR3410_2012_PublicKey
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
# The Algorithm Identifier Map update was done by importing rfc9215.
|