blob: 51a9d5c5b1d8944c72222fc52998bed240afb09d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
|
#
# This file is part of pyasn1-modules software.
#
# Created by Russ Housley.
#
# Copyright (c) 2019, Vigil Security, LLC
# License: http://snmplabs.com/pyasn1/license.html
#
# Cryptographic Message Syntax (CMS) Algorithms
#
# ASN.1 source from:
# https://www.rfc-editor.org/rfc/rfc3370.txt
#
from pyasn1.type import univ
from pyasn1_modules import rfc3279
from pyasn1_modules import rfc5280
from pyasn1_modules import rfc5751
from pyasn1_modules import rfc5753
from pyasn1_modules import rfc5990
from pyasn1_modules import rfc8018
# Imports from RFC 5280
AlgorithmIdentifier = rfc5280.AlgorithmIdentifier
# Imports from RFC 3279
dhpublicnumber = rfc3279.dhpublicnumber
dh_public_number = dhpublicnumber
DHPublicKey = rfc3279.DHPublicKey
DomainParameters = rfc3279.DomainParameters
DHDomainParameters = DomainParameters
Dss_Parms = rfc3279.Dss_Parms
Dss_Sig_Value = rfc3279.Dss_Sig_Value
md5 = rfc3279.md5
md5WithRSAEncryption = rfc3279.md5WithRSAEncryption
RSAPublicKey = rfc3279.RSAPublicKey
rsaEncryption = rfc3279.rsaEncryption
ValidationParms = rfc3279.ValidationParms
id_dsa = rfc3279.id_dsa
id_dsa_with_sha1 = rfc3279.id_dsa_with_sha1
id_sha1 = rfc3279.id_sha1
sha_1 = id_sha1
sha1WithRSAEncryption = rfc3279.sha1WithRSAEncryption
# Imports from RFC 5753
CBCParameter = rfc5753.CBCParameter
CBCParameter = rfc5753.IV
KeyWrapAlgorithm = rfc5753.KeyWrapAlgorithm
# Imports from RFC 5990
id_alg_CMS3DESwrap = rfc5990.id_alg_CMS3DESwrap
# Imports from RFC 8018
des_EDE3_CBC = rfc8018.des_EDE3_CBC
des_ede3_cbc = des_EDE3_CBC
rc2CBC = rfc8018.rc2CBC
rc2_cbc = rc2CBC
RC2_CBC_Parameter = rfc8018.RC2_CBC_Parameter
RC2CBCParameter = RC2_CBC_Parameter
PBKDF2_params = rfc8018.PBKDF2_params
id_PBKDF2 = rfc8018.id_PBKDF2
# The few things that are not already defined elsewhere
hMAC_SHA1 = univ.ObjectIdentifier('1.3.6.1.5.5.8.1.2')
id_alg_ESDH = univ.ObjectIdentifier('1.2.840.113549.1.9.16.3.5')
id_alg_SSDH = univ.ObjectIdentifier('1.2.840.113549.1.9.16.3.10')
id_alg_CMSRC2wrap = univ.ObjectIdentifier('1.2.840.113549.1.9.16.3.7')
class RC2ParameterVersion(univ.Integer):
pass
class RC2wrapParameter(RC2ParameterVersion):
pass
class Dss_Pub_Key(univ.Integer):
pass
# Update the Algorithm Identifier map in rfc5280.py.
_algorithmIdentifierMapUpdate = {
hMAC_SHA1: univ.Null(""),
id_alg_CMSRC2wrap: RC2wrapParameter(),
id_alg_ESDH: KeyWrapAlgorithm(),
id_alg_SSDH: KeyWrapAlgorithm(),
}
rfc5280.algorithmIdentifierMap.update(_algorithmIdentifierMapUpdate)
# Update the S/MIME Capabilities map in rfc5751.py.
_smimeCapabilityMapUpdate = {
id_alg_CMSRC2wrap: RC2wrapParameter(),
id_alg_ESDH: KeyWrapAlgorithm(),
id_alg_SSDH: KeyWrapAlgorithm(),
}
rfc5751.smimeCapabilityMap.update(_smimeCapabilityMapUpdate)
|