pyasn1-alt-modules 0.4.5__py3-none-any.whl
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/__init__.py +2 -0
- pyasn1_alt_modules/opentypemap.py +19 -0
- pyasn1_alt_modules/pem.py +66 -0
- pyasn1_alt_modules/rfc1155.py +97 -0
- pyasn1_alt_modules/rfc1157.py +127 -0
- pyasn1_alt_modules/rfc1901.py +23 -0
- pyasn1_alt_modules/rfc1902.py +130 -0
- pyasn1_alt_modules/rfc1905.py +136 -0
- pyasn1_alt_modules/rfc2040.py +50 -0
- pyasn1_alt_modules/rfc2251.py +564 -0
- pyasn1_alt_modules/rfc2314.py +68 -0
- pyasn1_alt_modules/rfc2315.py +325 -0
- pyasn1_alt_modules/rfc2437.py +70 -0
- pyasn1_alt_modules/rfc2459.py +1340 -0
- pyasn1_alt_modules/rfc2511.py +303 -0
- pyasn1_alt_modules/rfc2528.py +34 -0
- pyasn1_alt_modules/rfc2560.py +226 -0
- pyasn1_alt_modules/rfc2631.py +37 -0
- pyasn1_alt_modules/rfc2634.py +342 -0
- pyasn1_alt_modules/rfc2743.py +60 -0
- pyasn1_alt_modules/rfc2876.py +61 -0
- pyasn1_alt_modules/rfc2898.py +72 -0
- pyasn1_alt_modules/rfc2985.py +593 -0
- pyasn1_alt_modules/rfc2986.py +76 -0
- pyasn1_alt_modules/rfc3058.py +48 -0
- pyasn1_alt_modules/rfc3114.py +80 -0
- pyasn1_alt_modules/rfc3125.py +469 -0
- pyasn1_alt_modules/rfc3161.py +142 -0
- pyasn1_alt_modules/rfc3217.py +42 -0
- pyasn1_alt_modules/rfc3274.py +62 -0
- pyasn1_alt_modules/rfc3279.py +264 -0
- pyasn1_alt_modules/rfc3280.py +1544 -0
- pyasn1_alt_modules/rfc3281.py +332 -0
- pyasn1_alt_modules/rfc3370.py +142 -0
- pyasn1_alt_modules/rfc3412.py +54 -0
- pyasn1_alt_modules/rfc3414.py +29 -0
- pyasn1_alt_modules/rfc3447.py +46 -0
- pyasn1_alt_modules/rfc3537.py +44 -0
- pyasn1_alt_modules/rfc3546.py +23 -0
- pyasn1_alt_modules/rfc3560.py +74 -0
- pyasn1_alt_modules/rfc3565.py +59 -0
- pyasn1_alt_modules/rfc3657.py +69 -0
- pyasn1_alt_modules/rfc3709.py +230 -0
- pyasn1_alt_modules/rfc3739.py +207 -0
- pyasn1_alt_modules/rfc3770.py +77 -0
- pyasn1_alt_modules/rfc3779.py +139 -0
- pyasn1_alt_modules/rfc3820.py +66 -0
- pyasn1_alt_modules/rfc3852.py +707 -0
- pyasn1_alt_modules/rfc3874.py +29 -0
- pyasn1_alt_modules/rfc4010.py +58 -0
- pyasn1_alt_modules/rfc4043.py +45 -0
- pyasn1_alt_modules/rfc4055.py +285 -0
- pyasn1_alt_modules/rfc4056.py +56 -0
- pyasn1_alt_modules/rfc4059.py +101 -0
- pyasn1_alt_modules/rfc4073.py +62 -0
- pyasn1_alt_modules/rfc4108.py +355 -0
- pyasn1_alt_modules/rfc4210.py +807 -0
- pyasn1_alt_modules/rfc4211.py +420 -0
- pyasn1_alt_modules/rfc4231.py +38 -0
- pyasn1_alt_modules/rfc4262.py +37 -0
- pyasn1_alt_modules/rfc4334.py +78 -0
- pyasn1_alt_modules/rfc4357.py +485 -0
- pyasn1_alt_modules/rfc4366.py +23 -0
- pyasn1_alt_modules/rfc4387.py +23 -0
- pyasn1_alt_modules/rfc4476.py +99 -0
- pyasn1_alt_modules/rfc4490.py +119 -0
- pyasn1_alt_modules/rfc4491.py +44 -0
- pyasn1_alt_modules/rfc4683.py +76 -0
- pyasn1_alt_modules/rfc4985.py +52 -0
- pyasn1_alt_modules/rfc4998.py +125 -0
- pyasn1_alt_modules/rfc5035.py +206 -0
- pyasn1_alt_modules/rfc5055.py +763 -0
- pyasn1_alt_modules/rfc5083.py +55 -0
- pyasn1_alt_modules/rfc5084.py +94 -0
- pyasn1_alt_modules/rfc5126.py +578 -0
- pyasn1_alt_modules/rfc5208.py +73 -0
- pyasn1_alt_modules/rfc5275.py +404 -0
- pyasn1_alt_modules/rfc5276.py +82 -0
- pyasn1_alt_modules/rfc5280.py +1666 -0
- pyasn1_alt_modules/rfc5480.py +190 -0
- pyasn1_alt_modules/rfc5544.py +127 -0
- pyasn1_alt_modules/rfc5636.py +117 -0
- pyasn1_alt_modules/rfc5639.py +49 -0
- pyasn1_alt_modules/rfc5649.py +33 -0
- pyasn1_alt_modules/rfc5652.py +763 -0
- pyasn1_alt_modules/rfc5697.py +64 -0
- pyasn1_alt_modules/rfc5698.py +159 -0
- pyasn1_alt_modules/rfc5751.py +127 -0
- pyasn1_alt_modules/rfc5752.py +52 -0
- pyasn1_alt_modules/rfc5753.py +163 -0
- pyasn1_alt_modules/rfc5755.py +400 -0
- pyasn1_alt_modules/rfc5913.py +46 -0
- pyasn1_alt_modules/rfc5914.py +119 -0
- pyasn1_alt_modules/rfc5915.py +32 -0
- pyasn1_alt_modules/rfc5916.py +39 -0
- pyasn1_alt_modules/rfc5917.py +59 -0
- pyasn1_alt_modules/rfc5924.py +19 -0
- pyasn1_alt_modules/rfc5934.py +786 -0
- pyasn1_alt_modules/rfc5940.py +62 -0
- pyasn1_alt_modules/rfc5958.py +100 -0
- pyasn1_alt_modules/rfc5990.py +238 -0
- pyasn1_alt_modules/rfc6010.py +92 -0
- pyasn1_alt_modules/rfc6019.py +46 -0
- pyasn1_alt_modules/rfc6031.py +469 -0
- pyasn1_alt_modules/rfc6032.py +71 -0
- pyasn1_alt_modules/rfc6066.py +25 -0
- pyasn1_alt_modules/rfc6120.py +46 -0
- pyasn1_alt_modules/rfc6170.py +17 -0
- pyasn1_alt_modules/rfc6187.py +22 -0
- pyasn1_alt_modules/rfc6210.py +45 -0
- pyasn1_alt_modules/rfc6211.py +75 -0
- pyasn1_alt_modules/rfc6402.py +643 -0
- pyasn1_alt_modules/rfc6482.py +77 -0
- pyasn1_alt_modules/rfc6484.py +17 -0
- pyasn1_alt_modules/rfc6486.py +70 -0
- pyasn1_alt_modules/rfc6487.py +22 -0
- pyasn1_alt_modules/rfc6492.py +41 -0
- pyasn1_alt_modules/rfc6493.py +24 -0
- pyasn1_alt_modules/rfc6494.py +23 -0
- pyasn1_alt_modules/rfc6664.py +151 -0
- pyasn1_alt_modules/rfc6955.py +112 -0
- pyasn1_alt_modules/rfc6960.py +234 -0
- pyasn1_alt_modules/rfc6962.py +52 -0
- pyasn1_alt_modules/rfc7030.py +70 -0
- pyasn1_alt_modules/rfc7191.py +267 -0
- pyasn1_alt_modules/rfc7229.py +29 -0
- pyasn1_alt_modules/rfc7292.py +359 -0
- pyasn1_alt_modules/rfc7296.py +32 -0
- pyasn1_alt_modules/rfc7508.py +92 -0
- pyasn1_alt_modules/rfc7585.py +53 -0
- pyasn1_alt_modules/rfc7633.py +40 -0
- pyasn1_alt_modules/rfc7693.py +66 -0
- pyasn1_alt_modules/rfc7773.py +54 -0
- pyasn1_alt_modules/rfc7836.py +65 -0
- pyasn1_alt_modules/rfc7894.py +100 -0
- pyasn1_alt_modules/rfc7906.py +739 -0
- pyasn1_alt_modules/rfc7914.py +55 -0
- pyasn1_alt_modules/rfc8017.py +159 -0
- pyasn1_alt_modules/rfc8018.py +269 -0
- pyasn1_alt_modules/rfc8103.py +36 -0
- pyasn1_alt_modules/rfc8209.py +20 -0
- pyasn1_alt_modules/rfc8226.py +151 -0
- pyasn1_alt_modules/rfc8358.py +54 -0
- pyasn1_alt_modules/rfc8360.py +46 -0
- pyasn1_alt_modules/rfc8398.py +55 -0
- pyasn1_alt_modules/rfc8410.py +43 -0
- pyasn1_alt_modules/rfc8418.py +36 -0
- pyasn1_alt_modules/rfc8419.py +70 -0
- pyasn1_alt_modules/rfc8479.py +48 -0
- pyasn1_alt_modules/rfc8494.py +80 -0
- pyasn1_alt_modules/rfc8520.py +66 -0
- pyasn1_alt_modules/rfc8619.py +45 -0
- pyasn1_alt_modules/rfc8649.py +42 -0
- pyasn1_alt_modules/rfc8692.py +79 -0
- pyasn1_alt_modules/rfc8696.py +108 -0
- pyasn1_alt_modules/rfc8702.py +109 -0
- pyasn1_alt_modules/rfc8708.py +43 -0
- pyasn1_alt_modules/rfc8737.py +36 -0
- pyasn1_alt_modules/rfc8769.py +21 -0
- pyasn1_alt_modules/rfc8894.py +52 -0
- pyasn1_alt_modules/rfc8951.py +42 -0
- pyasn1_alt_modules/rfc8954.py +238 -0
- pyasn1_alt_modules/rfc8994.py +52 -0
- pyasn1_alt_modules/rfc8995.py +39 -0
- pyasn1_alt_modules/rfc9044.py +80 -0
- pyasn1_alt_modules/rfc9092.py +35 -0
- pyasn1_alt_modules/rfc9118.py +82 -0
- pyasn1_alt_modules/rfc9174.py +55 -0
- pyasn1_alt_modules/rfc9189.py +74 -0
- pyasn1_alt_modules/rfc9215.py +228 -0
- pyasn1_alt_modules/rfc9286.py +78 -0
- pyasn1_alt_modules/rfc9289.py +22 -0
- pyasn1_alt_modules/rfc9310.py +46 -0
- pyasn1_alt_modules/rfc9323.py +129 -0
- pyasn1_alt_modules/rfc9336.py +20 -0
- pyasn1_alt_modules/rfc9337.py +74 -0
- pyasn1_alt_modules/rfc9345.py +36 -0
- pyasn1_alt_modules/rfc9385.py +22 -0
- pyasn1_alt_modules/rfc9399.py +59 -0
- pyasn1_alt_modules/rfc9480.py +731 -0
- pyasn1_alt_modules/rfc9481.py +224 -0
- pyasn1_alt_modules/rfc9509.py +24 -0
- pyasn1_alt_modules/rfc9548.py +23 -0
- pyasn1_alt_modules/rfc9579.py +89 -0
- pyasn1_alt_modules/rfc9582.py +107 -0
- pyasn1_alt_modules/rfc9598.py +52 -0
- pyasn1_alt_modules/rfc9608.py +35 -0
- pyasn1_alt_modules/rfc9629.py +100 -0
- pyasn1_alt_modules/rfc9654.py +241 -0
- pyasn1_alt_modules-0.4.5.dist-info/LICENSE.txt +25 -0
- pyasn1_alt_modules-0.4.5.dist-info/METADATA +34 -0
- pyasn1_alt_modules-0.4.5.dist-info/RECORD +195 -0
- pyasn1_alt_modules-0.4.5.dist-info/WHEEL +5 -0
- pyasn1_alt_modules-0.4.5.dist-info/top_level.txt +1 -0
- pyasn1_alt_modules-0.4.5.dist-info/zip-safe +1 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
#
|
|
2
|
+
# This file is part of pyasn1-alt-modules software.
|
|
3
|
+
#
|
|
4
|
+
# Created by Russ Housley.
|
|
5
|
+
# Modified by Russ Housley to include the opentypemap manager.
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2019-2024, Vigil Security, LLC
|
|
8
|
+
# License: http://vigilsec.com/pyasn1-alt-modules-license.txt
|
|
9
|
+
#
|
|
10
|
+
# Digital Signatures on Internet-Draft Documents
|
|
11
|
+
#
|
|
12
|
+
# ASN.1 source from:
|
|
13
|
+
# https://www.rfc-editor.org/rfc/rfc8358.txt
|
|
14
|
+
#
|
|
15
|
+
|
|
16
|
+
from pyasn1.type import univ
|
|
17
|
+
|
|
18
|
+
from pyasn1_alt_modules import opentypemap
|
|
19
|
+
|
|
20
|
+
cmsContentTypesMap = opentypemap.get('cmsContentTypesMap')
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
# Object Identifiers for the Content Types
|
|
24
|
+
|
|
25
|
+
id_ct = univ.ObjectIdentifier('1.2.840.113549.1.9.16.1')
|
|
26
|
+
|
|
27
|
+
id_ct_asciiTextWithCRLF = id_ct + (27, )
|
|
28
|
+
|
|
29
|
+
id_ct_epub = id_ct + (39, )
|
|
30
|
+
|
|
31
|
+
id_ct_htmlWithCRLF = id_ct + (38, )
|
|
32
|
+
|
|
33
|
+
id_ct_pdf = id_ct + (29, )
|
|
34
|
+
|
|
35
|
+
id_ct_postscript = id_ct + (30, )
|
|
36
|
+
|
|
37
|
+
id_ct_utf8TextWithCRLF = id_ct + (37, )
|
|
38
|
+
|
|
39
|
+
id_ct_xml = id_ct + (28, )
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
# Update the CMS of Content Types Map
|
|
43
|
+
|
|
44
|
+
_cmsContentTypesMapUpdate = {
|
|
45
|
+
id_ct_asciiTextWithCRLF: univ.OctetString(),
|
|
46
|
+
id_ct_epub: univ.OctetString(),
|
|
47
|
+
id_ct_htmlWithCRLF: univ.OctetString(),
|
|
48
|
+
id_ct_pdf: univ.OctetString(),
|
|
49
|
+
id_ct_postscript: univ.OctetString(),
|
|
50
|
+
id_ct_utf8TextWithCRLF: univ.OctetString(),
|
|
51
|
+
id_ct_xml: univ.OctetString(),
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
cmsContentTypesMap.update(_cmsContentTypesMapUpdate)
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
#
|
|
2
|
+
# This file is part of pyasn1-alt-modules software.
|
|
3
|
+
#
|
|
4
|
+
# Created by Russ Housley.
|
|
5
|
+
# Modified by Russ Housley to include the opentypemap manager.
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2019-2024, Vigil Security, LLC
|
|
8
|
+
# License: http://vigilsec.com/pyasn1-alt-modules-license.txt
|
|
9
|
+
#
|
|
10
|
+
# Resource Public Key Infrastructure (RPKI) Validation Reconsidered
|
|
11
|
+
#
|
|
12
|
+
# ASN.1 source from:
|
|
13
|
+
# https://www.rfc-editor.org/rfc/rfc8360.txt
|
|
14
|
+
# https://www.rfc-editor.org/errata/eid5870
|
|
15
|
+
#
|
|
16
|
+
|
|
17
|
+
from pyasn1.type import univ
|
|
18
|
+
|
|
19
|
+
from pyasn1_alt_modules import rfc3779
|
|
20
|
+
from pyasn1_alt_modules import opentypemap
|
|
21
|
+
|
|
22
|
+
certificateExtensionsMap = opentypemap.get('certificateExtensionsMap')
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# IP Address Delegation Extension V2
|
|
26
|
+
|
|
27
|
+
id_pe_ipAddrBlocks_v2 = univ.ObjectIdentifier('1.3.6.1.5.5.7.1.28')
|
|
28
|
+
|
|
29
|
+
IPAddrBlocks = rfc3779.IPAddrBlocks
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
# Autonomous System Identifier Delegation Extension V2
|
|
33
|
+
|
|
34
|
+
id_pe_autonomousSysIds_v2 = univ.ObjectIdentifier('1.3.6.1.5.5.7.1.29')
|
|
35
|
+
|
|
36
|
+
ASIdentifiers = rfc3779.ASIdentifiers
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
# Update the Certificate Extensions Map
|
|
40
|
+
|
|
41
|
+
_certificateExtensionsMapUpdate = {
|
|
42
|
+
id_pe_ipAddrBlocks_v2: IPAddrBlocks(),
|
|
43
|
+
id_pe_autonomousSysIds_v2: ASIdentifiers(),
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
certificateExtensionsMap.update(_certificateExtensionsMapUpdate)
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
#
|
|
2
|
+
# This file is part of pyasn1-alt-modules software.
|
|
3
|
+
#
|
|
4
|
+
# Created by Russ Housley with some assistance from asn1ate v.0.6.0.
|
|
5
|
+
# Modified by Russ Housley to include the opentypemap manager.
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2019-2024, Vigil Security, LLC
|
|
8
|
+
# License: http://vigilsec.com/pyasn1-alt-modules-license.txt
|
|
9
|
+
#
|
|
10
|
+
# Internationalized Email Addresses in X.509 Certificates
|
|
11
|
+
#
|
|
12
|
+
# ASN.1 source from:
|
|
13
|
+
# https://www.rfc-editor.org/rfc/rfc8398.txt
|
|
14
|
+
# https://www.rfc-editor.org/errata/eid5418
|
|
15
|
+
#
|
|
16
|
+
|
|
17
|
+
from pyasn1.type import char
|
|
18
|
+
from pyasn1.type import constraint
|
|
19
|
+
from pyasn1.type import univ
|
|
20
|
+
|
|
21
|
+
from pyasn1_alt_modules import rfc5280
|
|
22
|
+
from pyasn1_alt_modules import opentypemap
|
|
23
|
+
|
|
24
|
+
otherNamesMap = opentypemap.get('otherNamesMap')
|
|
25
|
+
|
|
26
|
+
MAX = float('inf')
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
# SmtpUTF8Mailbox contains Mailbox as specified in Section 3.3 of RFC 6531
|
|
30
|
+
|
|
31
|
+
id_pkix = rfc5280.id_pkix
|
|
32
|
+
|
|
33
|
+
id_on = id_pkix + (8, )
|
|
34
|
+
|
|
35
|
+
id_on_SmtpUTF8Mailbox = id_on + (9, )
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class SmtpUTF8Mailbox(char.UTF8String):
|
|
39
|
+
pass
|
|
40
|
+
|
|
41
|
+
SmtpUTF8Mailbox.subtypeSpec = constraint.ValueSizeConstraint(1, MAX)
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
on_SmtpUTF8Mailbox = rfc5280.AnotherName()
|
|
45
|
+
on_SmtpUTF8Mailbox['type-id'] = id_on_SmtpUTF8Mailbox
|
|
46
|
+
on_SmtpUTF8Mailbox['value'] = SmtpUTF8Mailbox()
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
# Update the Other Names Map
|
|
50
|
+
|
|
51
|
+
_otherNamesMapUpdate = {
|
|
52
|
+
id_on_SmtpUTF8Mailbox: SmtpUTF8Mailbox(),
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
otherNamesMap.update(_otherNamesMapUpdate)
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# This file is part of pyasn1-alt-modules software.
|
|
2
|
+
#
|
|
3
|
+
# Created by Russ Housley.
|
|
4
|
+
#
|
|
5
|
+
# Copyright (c) 2019-2024, Vigil Security, LLC
|
|
6
|
+
# License: http://vigilsec.com/pyasn1-alt-modules-license.txt
|
|
7
|
+
#
|
|
8
|
+
# Algorithm Identifiers for Ed25519, Ed448, X25519, and X448
|
|
9
|
+
#
|
|
10
|
+
# ASN.1 source from:
|
|
11
|
+
# https://www.rfc-editor.org/rfc/rfc8410.txt
|
|
12
|
+
|
|
13
|
+
from pyasn1.type import univ
|
|
14
|
+
from pyasn1_alt_modules import rfc3565
|
|
15
|
+
from pyasn1_alt_modules import rfc4055
|
|
16
|
+
from pyasn1_alt_modules import rfc5280
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class SignatureAlgorithmIdentifier(rfc5280.AlgorithmIdentifier):
|
|
20
|
+
pass
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class KeyEncryptionAlgorithmIdentifier(rfc5280.AlgorithmIdentifier):
|
|
24
|
+
pass
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class CurvePrivateKey(univ.OctetString):
|
|
28
|
+
pass
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
id_X25519 = univ.ObjectIdentifier('1.3.101.110')
|
|
32
|
+
|
|
33
|
+
id_X448 = univ.ObjectIdentifier('1.3.101.111')
|
|
34
|
+
|
|
35
|
+
id_Ed25519 = univ.ObjectIdentifier('1.3.101.112')
|
|
36
|
+
|
|
37
|
+
id_Ed448 = univ.ObjectIdentifier('1.3.101.113')
|
|
38
|
+
|
|
39
|
+
id_sha512 = rfc4055.id_sha512
|
|
40
|
+
|
|
41
|
+
id_aes128_wrap = rfc3565.id_aes128_wrap
|
|
42
|
+
|
|
43
|
+
id_aes256_wrap = rfc3565.id_aes256_wrap
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# This file is part of pyasn1-alt-modules software.
|
|
2
|
+
#
|
|
3
|
+
# Created by Russ Housley.
|
|
4
|
+
#
|
|
5
|
+
# Copyright (c) 2019-2024, Vigil Security, LLC
|
|
6
|
+
# License: http://vigilsec.com/pyasn1-alt-modules-license.txt
|
|
7
|
+
#
|
|
8
|
+
# Elliptic Curve Diffie-Hellman (ECDH) Key Agreement Algorithm
|
|
9
|
+
# with X25519 and X448
|
|
10
|
+
#
|
|
11
|
+
# ASN.1 source from:
|
|
12
|
+
# https://www.rfc-editor.org/rfc/rfc8418.txt
|
|
13
|
+
|
|
14
|
+
from pyasn1.type import univ
|
|
15
|
+
from pyasn1_alt_modules import rfc5280
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class KeyEncryptionAlgorithmIdentifier(rfc5280.AlgorithmIdentifier):
|
|
19
|
+
pass
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class KeyWrapAlgorithmIdentifier(rfc5280.AlgorithmIdentifier):
|
|
23
|
+
pass
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
dhSinglePass_stdDH_sha256kdf_scheme = univ.ObjectIdentifier('1.3.133.16.840.63.0.11.1')
|
|
27
|
+
|
|
28
|
+
dhSinglePass_stdDH_sha384kdf_scheme = univ.ObjectIdentifier('1.3.133.16.840.63.0.11.2')
|
|
29
|
+
|
|
30
|
+
dhSinglePass_stdDH_sha512kdf_scheme = univ.ObjectIdentifier('1.3.133.16.840.63.0.11.3')
|
|
31
|
+
|
|
32
|
+
dhSinglePass_stdDH_hkdf_sha256_scheme = univ.ObjectIdentifier('1.2.840.113549.1.9.16.3.19')
|
|
33
|
+
|
|
34
|
+
dhSinglePass_stdDH_hkdf_sha384_scheme = univ.ObjectIdentifier('1.2.840.113549.1.9.16.3.20')
|
|
35
|
+
|
|
36
|
+
dhSinglePass_stdDH_hkdf_sha512_scheme = univ.ObjectIdentifier('1.2.840.113549.1.9.16.3.21')
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# This file is part of pyasn1-alt-modules software.
|
|
2
|
+
#
|
|
3
|
+
# Created by Russ Housley.
|
|
4
|
+
# Modified by Russ Housley to include the opentypemap manager.
|
|
5
|
+
#
|
|
6
|
+
# Copyright (c) 2019-2024, Vigil Security, LLC
|
|
7
|
+
# License: http://vigilsec.com/pyasn1-alt-modules-license.txt
|
|
8
|
+
#
|
|
9
|
+
# Edwards-Curve Digital Signature Algorithm (EdDSA) Signatures in the CMS
|
|
10
|
+
#
|
|
11
|
+
# ASN.1 source from:
|
|
12
|
+
# https://www.rfc-editor.org/rfc/rfc8419.txt
|
|
13
|
+
# https://www.rfc-editor.org/errata/eid5869
|
|
14
|
+
|
|
15
|
+
from pyasn1.type import univ
|
|
16
|
+
|
|
17
|
+
from pyasn1_alt_modules import rfc5280
|
|
18
|
+
from pyasn1_alt_modules import opentypemap
|
|
19
|
+
|
|
20
|
+
algorithmIdentifierMap = opentypemap.get('algorithmIdentifierMap')
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class ShakeOutputLen(univ.Integer):
|
|
24
|
+
pass
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
id_Ed25519 = univ.ObjectIdentifier('1.3.101.112')
|
|
28
|
+
|
|
29
|
+
sigAlg_Ed25519 = rfc5280.AlgorithmIdentifier()
|
|
30
|
+
sigAlg_Ed25519['algorithm'] = id_Ed25519
|
|
31
|
+
# sigAlg_Ed25519['parameters'] is absent
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
id_Ed448 = univ.ObjectIdentifier('1.3.101.113')
|
|
35
|
+
|
|
36
|
+
sigAlg_Ed448 = rfc5280.AlgorithmIdentifier()
|
|
37
|
+
sigAlg_Ed448['algorithm'] = id_Ed448
|
|
38
|
+
# sigAlg_Ed448['parameters'] is absent
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
hashAlgs = univ.ObjectIdentifier('2.16.840.1.101.3.4.2')
|
|
42
|
+
|
|
43
|
+
id_sha512 = hashAlgs + (3, )
|
|
44
|
+
|
|
45
|
+
hashAlg_SHA_512 = rfc5280.AlgorithmIdentifier()
|
|
46
|
+
hashAlg_SHA_512['algorithm'] = id_sha512
|
|
47
|
+
# hashAlg_SHA_512['parameters'] is absent
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
id_shake256 = hashAlgs + (12, )
|
|
51
|
+
|
|
52
|
+
hashAlg_SHAKE256 = rfc5280.AlgorithmIdentifier()
|
|
53
|
+
hashAlg_SHAKE256['algorithm'] = id_shake256
|
|
54
|
+
# hashAlg_SHAKE256['parameters']is absent
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
id_shake256_len = hashAlgs + (18, )
|
|
58
|
+
|
|
59
|
+
hashAlg_SHAKE256_LEN = rfc5280.AlgorithmIdentifier()
|
|
60
|
+
hashAlg_SHAKE256_LEN['algorithm'] = id_shake256_len
|
|
61
|
+
hashAlg_SHAKE256_LEN['parameters'] = ShakeOutputLen()
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
# Update the Algorithm Identifiers Map
|
|
65
|
+
|
|
66
|
+
_algorithmIdentifierMapUpdate = {
|
|
67
|
+
id_shake256_len: ShakeOutputLen(),
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
algorithmIdentifierMap.update(_algorithmIdentifierMapUpdate)
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
#
|
|
2
|
+
# This file is part of pyasn1-alt-modules software.
|
|
3
|
+
#
|
|
4
|
+
# Created by Russ Housley with assistance from asn1ate v.0.6.0.
|
|
5
|
+
# Modified by Russ Housley to include the opentypemap manager.
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2019-2024, Vigil Security, LLC
|
|
8
|
+
# License: http://vigilsec.com/pyasn1-alt-modules-license.txt
|
|
9
|
+
#
|
|
10
|
+
# Storing Validation Parameters in PKCS#8
|
|
11
|
+
#
|
|
12
|
+
# ASN.1 source from:
|
|
13
|
+
# https://www.rfc-editor.org/rfc/rfc8479.txt
|
|
14
|
+
#
|
|
15
|
+
|
|
16
|
+
from pyasn1.type import namedtype
|
|
17
|
+
from pyasn1.type import univ
|
|
18
|
+
|
|
19
|
+
from pyasn1_alt_modules import rfc5652
|
|
20
|
+
from pyasn1_alt_modules import opentypemap
|
|
21
|
+
|
|
22
|
+
cmsAttributesMap = opentypemap.get('cmsAttributesMap')
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
id_attr_validation_parameters = univ.ObjectIdentifier('1.3.6.1.4.1.2312.18.8.1')
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class ValidationParams(univ.Sequence):
|
|
29
|
+
pass
|
|
30
|
+
|
|
31
|
+
ValidationParams.componentType = namedtype.NamedTypes(
|
|
32
|
+
namedtype.NamedType('hashAlg', univ.ObjectIdentifier()),
|
|
33
|
+
namedtype.NamedType('seed', univ.OctetString())
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
at_validation_parameters = rfc5652.Attribute()
|
|
38
|
+
at_validation_parameters['attrType'] = id_attr_validation_parameters
|
|
39
|
+
at_validation_parameters['attrValues'][0] = ValidationParams()
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
# Update the CMS Attributes Map
|
|
43
|
+
|
|
44
|
+
_cmsAttributesMapUpdate = {
|
|
45
|
+
id_attr_validation_parameters: ValidationParams(),
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
cmsAttributesMap.update(_cmsAttributesMapUpdate)
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# This file is part of pyasn1-alt-modules software.
|
|
2
|
+
#
|
|
3
|
+
# Created by Russ Housley with assistance from asn1ate v.0.6.0.
|
|
4
|
+
#
|
|
5
|
+
# Copyright (c) 2019-2024, Vigil Security, LLC
|
|
6
|
+
# License: http://vigilsec.com/pyasn1-alt-modules-license.txt
|
|
7
|
+
#
|
|
8
|
+
# Multicast Email (MULE) over Allied Communications Publication 142
|
|
9
|
+
#
|
|
10
|
+
# ASN.1 source from:
|
|
11
|
+
# https://www.rfc-editor.org/rfc/rfc8494.txt
|
|
12
|
+
|
|
13
|
+
from pyasn1.type import namedtype
|
|
14
|
+
from pyasn1.type import namedval
|
|
15
|
+
from pyasn1.type import tag
|
|
16
|
+
from pyasn1.type import univ
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
id_mmhs_CDT = univ.ObjectIdentifier('1.3.26.0.4406.0.4.2')
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class AlgorithmID_ShortForm(univ.Integer):
|
|
23
|
+
pass
|
|
24
|
+
|
|
25
|
+
AlgorithmID_ShortForm.namedValues = namedval.NamedValues(
|
|
26
|
+
('zlibCompress', 0)
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class ContentType_ShortForm(univ.Integer):
|
|
31
|
+
pass
|
|
32
|
+
|
|
33
|
+
ContentType_ShortForm.namedValues = namedval.NamedValues(
|
|
34
|
+
('unidentified', 0),
|
|
35
|
+
('external', 1),
|
|
36
|
+
('p1', 2),
|
|
37
|
+
('p3', 3),
|
|
38
|
+
('p7', 4),
|
|
39
|
+
('mule', 25)
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class CompressedContentInfo(univ.Sequence):
|
|
44
|
+
pass
|
|
45
|
+
|
|
46
|
+
CompressedContentInfo.componentType = namedtype.NamedTypes(
|
|
47
|
+
namedtype.NamedType('unnamed', univ.Choice(componentType=namedtype.NamedTypes(
|
|
48
|
+
namedtype.NamedType('contentType-ShortForm',
|
|
49
|
+
ContentType_ShortForm().subtype(explicitTag=tag.Tag(
|
|
50
|
+
tag.tagClassContext, tag.tagFormatSimple, 0))),
|
|
51
|
+
namedtype.NamedType('contentType-OID',
|
|
52
|
+
univ.ObjectIdentifier().subtype(explicitTag=tag.Tag(
|
|
53
|
+
tag.tagClassContext, tag.tagFormatSimple, 1)))
|
|
54
|
+
))),
|
|
55
|
+
namedtype.NamedType('compressedContent',
|
|
56
|
+
univ.OctetString().subtype(explicitTag=tag.Tag(
|
|
57
|
+
tag.tagClassContext, tag.tagFormatSimple, 0)))
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
class CompressionAlgorithmIdentifier(univ.Choice):
|
|
62
|
+
pass
|
|
63
|
+
|
|
64
|
+
CompressionAlgorithmIdentifier.componentType = namedtype.NamedTypes(
|
|
65
|
+
namedtype.NamedType('algorithmID-ShortForm',
|
|
66
|
+
AlgorithmID_ShortForm().subtype(explicitTag=tag.Tag(
|
|
67
|
+
tag.tagClassContext, tag.tagFormatSimple, 0))),
|
|
68
|
+
namedtype.NamedType('algorithmID-OID',
|
|
69
|
+
univ.ObjectIdentifier().subtype(explicitTag=tag.Tag(
|
|
70
|
+
tag.tagClassContext, tag.tagFormatSimple, 1)))
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
class CompressedData(univ.Sequence):
|
|
75
|
+
pass
|
|
76
|
+
|
|
77
|
+
CompressedData.componentType = namedtype.NamedTypes(
|
|
78
|
+
namedtype.NamedType('compressionAlgorithm', CompressionAlgorithmIdentifier()),
|
|
79
|
+
namedtype.NamedType('compressedContentInfo', CompressedContentInfo())
|
|
80
|
+
)
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
#
|
|
2
|
+
# This file is part of pyasn1-alt-modules software.
|
|
3
|
+
#
|
|
4
|
+
# Created by Russ Housley with assistance from asn1ate v.0.6.0.
|
|
5
|
+
# Modified by Russ Housley to add maps for use with opentypes.
|
|
6
|
+
# Modified by Russ Housley to include the opentypemap manager.
|
|
7
|
+
#
|
|
8
|
+
# Copyright (c) 2019-2024, Vigil Security, LLC
|
|
9
|
+
# License: http://vigilsec.com/pyasn1-alt-modules-license.txt
|
|
10
|
+
#
|
|
11
|
+
# X.509 Extensions for MUD URL and MUD Signer;
|
|
12
|
+
# Object Identifier for CMS Content Type for a MUD file
|
|
13
|
+
#
|
|
14
|
+
# ASN.1 source from:
|
|
15
|
+
# https://www.rfc-editor.org/rfc/rfc8520.txt
|
|
16
|
+
#
|
|
17
|
+
|
|
18
|
+
from pyasn1.type import char
|
|
19
|
+
from pyasn1.type import univ
|
|
20
|
+
|
|
21
|
+
from pyasn1_alt_modules import rfc5280
|
|
22
|
+
from pyasn1_alt_modules import opentypemap
|
|
23
|
+
|
|
24
|
+
certificateExtensionsMap = opentypemap.get('certificateExtensionsMap')
|
|
25
|
+
|
|
26
|
+
cmsContentTypesMap = opentypemap.get('cmsContentTypesMap')
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
# X.509 Extension for MUD URL
|
|
30
|
+
|
|
31
|
+
id_pe_mud_url = univ.ObjectIdentifier('1.3.6.1.5.5.7.1.25')
|
|
32
|
+
|
|
33
|
+
class MUDURLSyntax(char.IA5String):
|
|
34
|
+
pass
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
# X.509 Extension for MUD Signer
|
|
38
|
+
|
|
39
|
+
id_pe_mudsigner = univ.ObjectIdentifier('1.3.6.1.5.5.7.1.30')
|
|
40
|
+
|
|
41
|
+
class MUDsignerSyntax(rfc5280.Name):
|
|
42
|
+
pass
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
# Object Identifier for CMS Content Type for a MUD file
|
|
46
|
+
|
|
47
|
+
id_ct_mudtype = univ.ObjectIdentifier('1.2.840.113549.1.9.16.1.41')
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
# Update the Certificate Extensions Map
|
|
51
|
+
|
|
52
|
+
_certificateExtensionsMapUpdate = {
|
|
53
|
+
id_pe_mud_url: MUDURLSyntax(),
|
|
54
|
+
id_pe_mudsigner: MUDsignerSyntax(),
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
certificateExtensionsMap.update(_certificateExtensionsMapUpdate)
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
# Update the CMS Content Types Map
|
|
61
|
+
|
|
62
|
+
_cmsContentTypesMapUpdate = {
|
|
63
|
+
id_ct_mudtype: univ.OctetString(),
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
cmsContentTypesMap.update(_cmsContentTypesMapUpdate)
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
#
|
|
2
|
+
# This file is part of pyasn1-alt-modules software.
|
|
3
|
+
#
|
|
4
|
+
# Created by Russ Housley.
|
|
5
|
+
#
|
|
6
|
+
# Copyright (c) 2019-2024, Vigil Security, LLC
|
|
7
|
+
# License: http://vigilsec.com/pyasn1-alt-modules-license.txt
|
|
8
|
+
#
|
|
9
|
+
# Algorithm Identifiers for HKDF
|
|
10
|
+
#
|
|
11
|
+
# ASN.1 source from:
|
|
12
|
+
# https://www.rfc-editor.org/rfc/rfc8619.txt
|
|
13
|
+
#
|
|
14
|
+
|
|
15
|
+
from pyasn1.type import univ
|
|
16
|
+
|
|
17
|
+
from pyasn1_alt_modules import rfc5280
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
# Object Identifiers
|
|
21
|
+
|
|
22
|
+
id_alg_hkdf_with_sha256 = univ.ObjectIdentifier('1.2.840.113549.1.9.16.3.28')
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
id_alg_hkdf_with_sha384 = univ.ObjectIdentifier('1.2.840.113549.1.9.16.3.29')
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
id_alg_hkdf_with_sha512 = univ.ObjectIdentifier('1.2.840.113549.1.9.16.3.30')
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
# Key Derivation Algorithm Identifiers
|
|
32
|
+
|
|
33
|
+
kda_hkdf_with_sha256 = rfc5280.AlgorithmIdentifier()
|
|
34
|
+
kda_hkdf_with_sha256['algorithm'] = id_alg_hkdf_with_sha256
|
|
35
|
+
# kda_hkdf_with_sha256['parameters'] are absent
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
kda_hkdf_with_sha384 = rfc5280.AlgorithmIdentifier()
|
|
39
|
+
kda_hkdf_with_sha384['algorithm'] = id_alg_hkdf_with_sha384
|
|
40
|
+
# kda_hkdf_with_sha384['parameters'] are absent
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
kda_hkdf_with_sha512 = rfc5280.AlgorithmIdentifier()
|
|
44
|
+
kda_hkdf_with_sha512['algorithm'] = id_alg_hkdf_with_sha512
|
|
45
|
+
# kda_hkdf_with_sha512['parameters'] are absent
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
#
|
|
2
|
+
# This file is part of pyasn1-alt-modules software.
|
|
3
|
+
#
|
|
4
|
+
# Created by Russ Housley with assistance from asn1ate v.0.6.0.
|
|
5
|
+
#
|
|
6
|
+
# Copyright (c) 2019-2024, Vigil Security, LLC
|
|
7
|
+
# License: http://vigilsec.com/pyasn1-alt-modules-license.txt
|
|
8
|
+
#
|
|
9
|
+
# X.509 Certificate Extension for Hash Of Root Key
|
|
10
|
+
#
|
|
11
|
+
# ASN.1 source from:
|
|
12
|
+
# https://www.rfc-editor.org/rfc/rfc8649.txt
|
|
13
|
+
#
|
|
14
|
+
|
|
15
|
+
from pyasn1.type import namedtype
|
|
16
|
+
from pyasn1.type import univ
|
|
17
|
+
|
|
18
|
+
from pyasn1_alt_modules import rfc5280
|
|
19
|
+
from pyasn1_alt_modules import opentypemap
|
|
20
|
+
|
|
21
|
+
certificateExtensionsMap = opentypemap.get('certificateExtensionsMap')
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
id_ce_hashOfRootKey = univ.ObjectIdentifier('1.3.6.1.4.1.51483.2.1')
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class HashedRootKey(univ.Sequence):
|
|
28
|
+
pass
|
|
29
|
+
|
|
30
|
+
HashedRootKey.componentType = namedtype.NamedTypes(
|
|
31
|
+
namedtype.NamedType('hashAlg', rfc5280.AlgorithmIdentifier()),
|
|
32
|
+
namedtype.NamedType('hashValue', univ.OctetString())
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
# Update the Certificate Extensions Map
|
|
37
|
+
|
|
38
|
+
_certificateExtensionsMapUpdate = {
|
|
39
|
+
id_ce_hashOfRootKey: HashedRootKey(),
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
certificateExtensionsMap.update(_certificateExtensionsMapUpdate)
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
#
|
|
2
|
+
# This file is part of pyasn1-alt-modules software.
|
|
3
|
+
#
|
|
4
|
+
# Created by Russ Housley with assistance from asn1ate v.0.6.0.
|
|
5
|
+
#
|
|
6
|
+
# Copyright (c) 2019-2024, Vigil Security, LLC
|
|
7
|
+
# License: http://vigilsec.com/pyasn1-alt-modules-license.txt
|
|
8
|
+
#
|
|
9
|
+
# Algorithm Identifiers for RSASSA-PSS and ECDSA using SHAKEs
|
|
10
|
+
#
|
|
11
|
+
# ASN.1 source from:
|
|
12
|
+
# https://www.rfc-editor.org/rfc/rfc8692.txt
|
|
13
|
+
#
|
|
14
|
+
|
|
15
|
+
from pyasn1.type import univ
|
|
16
|
+
|
|
17
|
+
from pyasn1_alt_modules import rfc4055
|
|
18
|
+
from pyasn1_alt_modules import rfc5280
|
|
19
|
+
from pyasn1_alt_modules import rfc5480
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
# SHAKE128 One-Way Hash Function
|
|
23
|
+
|
|
24
|
+
id_shake128 = univ.ObjectIdentifier('2.16.840.1.101.3.4.2.11')
|
|
25
|
+
|
|
26
|
+
mda_shake128 = rfc5280.AlgorithmIdentifier()
|
|
27
|
+
mda_shake128['algorithm'] = id_shake128
|
|
28
|
+
# mda_shake128['parameters'] is absent
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
# SHAKE256 One-Way Hash Function
|
|
32
|
+
|
|
33
|
+
id_shake256 = univ.ObjectIdentifier('2.16.840.1.101.3.4.2.12')
|
|
34
|
+
|
|
35
|
+
mda_shake256 = rfc5280.AlgorithmIdentifier()
|
|
36
|
+
mda_shake256['algorithm'] = id_shake256
|
|
37
|
+
# mda_shake256['parameters'] is absent
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
# RSA PSS with SHAKE128
|
|
41
|
+
|
|
42
|
+
id_RSASSA_PSS_SHAKE128 = univ.ObjectIdentifier('1.3.6.1.5.5.7.6.30')
|
|
43
|
+
|
|
44
|
+
sa_rSASSA_PSS_SHAKE128 = rfc5280.AlgorithmIdentifier()
|
|
45
|
+
sa_rSASSA_PSS_SHAKE128['algorithm'] = id_RSASSA_PSS_SHAKE128
|
|
46
|
+
# sa_rSASSA_PSS_SHAKE128['parameters'] is absent
|
|
47
|
+
|
|
48
|
+
pk_rsaSSA_PSS_SHAKE128 = rfc4055.RSAPublicKey()
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
# RSA PSS with SHAKE256
|
|
52
|
+
|
|
53
|
+
id_RSASSA_PSS_SHAKE256 = univ.ObjectIdentifier('1.3.6.1.5.5.7.6.31')
|
|
54
|
+
|
|
55
|
+
sa_rSASSA_PSS_SHAKE256 = rfc5280.AlgorithmIdentifier()
|
|
56
|
+
sa_rSASSA_PSS_SHAKE256['algorithm'] = id_RSASSA_PSS_SHAKE256
|
|
57
|
+
# sa_rSASSA_PSS_SHAKE256['parameters'] is absent
|
|
58
|
+
|
|
59
|
+
pk_rsaSSA_PSS_SHAKE256 = rfc4055.RSAPublicKey()
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
# ECDSA with SHAKE128
|
|
63
|
+
|
|
64
|
+
id_ecdsa_with_shake128 = univ.ObjectIdentifier('1.3.6.1.5.5.7.6.32')
|
|
65
|
+
|
|
66
|
+
sa_ecdsa_with_shake128 = rfc5280.AlgorithmIdentifier()
|
|
67
|
+
sa_ecdsa_with_shake128['algorithm'] = id_ecdsa_with_shake128
|
|
68
|
+
# sa_ecdsa_with_shake128['parameters'] is absent
|
|
69
|
+
|
|
70
|
+
pk_ec = rfc5480.ECPoint()
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
# ECDSA with SHAKE128
|
|
74
|
+
|
|
75
|
+
id_ecdsa_with_shake256 = univ.ObjectIdentifier('1.3.6.1.5.5.7.6.33')
|
|
76
|
+
|
|
77
|
+
sa_ecdsa_with_shake256 = rfc5280.AlgorithmIdentifier()
|
|
78
|
+
sa_ecdsa_with_shake256['algorithm'] = id_ecdsa_with_shake256
|
|
79
|
+
# sa_ecdsa_with_shake256['parameters'] is absent
|