]> www.wagner.pp.ru Git - openssl-gost/engine.git/blob - patches/openssl_111m_obj.diff
change OpenSSL version up to OpenSSL_1_1_1m
[openssl-gost/engine.git] / patches / openssl_111m_obj.diff
1 diff --git crypto/objects/obj_compat.h crypto/objects/obj_compat.h
2 new file mode 100644
3 index 00000000..68d1d733
4 --- /dev/null
5 +++ crypto/objects/obj_compat.h
6 @@ -0,0 +1,46 @@
7 +
8 +#ifndef OPENSSL_NO_DEPRECATED_3_0
9 +
10 +#define SN_id_tc26_cipher_gostr3412_2015_magma_ctracpkm                 SN_magma_ctr_acpkm
11 +#define NID_id_tc26_cipher_gostr3412_2015_magma_ctracpkm                NID_magma_ctr_acpkm
12 +#define OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm                OBJ_magma_ctr_acpkm
13 +
14 +#define SN_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac            SN_magma_ctr_acpkm_omac
15 +#define NID_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac           NID_magma_ctr_acpkm_omac
16 +#define OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac           OBJ_magma_ctr_acpkm_omac
17 +
18 +#define SN_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm            SN_kuznyechik_ctr_acpkm
19 +#define NID_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm           NID_kuznyechik_ctr_acpkm
20 +#define OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm           OBJ_kuznyechik_ctr_acpkm
21 +
22 +#define SN_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac               SN_kuznyechik_ctr_acpkm_omac
23 +#define NID_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac              NID_kuznyechik_ctr_acpkm_omac
24 +#define OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac              OBJ_kuznyechik_ctr_acpkm_omac
25 +
26 +#define SN_id_tc26_wrap_gostr3412_2015_magma_kexp15             SN_magma_kexp15
27 +#define NID_id_tc26_wrap_gostr3412_2015_magma_kexp15            NID_magma_kexp15
28 +#define OBJ_id_tc26_wrap_gostr3412_2015_magma_kexp15            OBJ_magma_kexp15
29 +
30 +#define SN_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15                SN_kuznyechik_kexp15
31 +#define NID_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15               NID_kuznyechik_kexp15
32 +#define OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15               OBJ_kuznyechik_kexp15
33 +
34 +#define SN_grasshopper_ecb              SN_kuznyechik_ecb
35 +#define NID_grasshopper_ecb             NID_kuznyechik_ecb
36 +
37 +#define SN_grasshopper_ctr              SN_kuznyechik_ctr
38 +#define NID_grasshopper_ctr             NID_kuznyechik_ctr
39 +
40 +#define SN_grasshopper_ofb              SN_kuznyechik_ofb
41 +#define NID_grasshopper_ofb             NID_kuznyechik_ofb
42 +
43 +#define SN_grasshopper_cbc              SN_kuznyechik_cbc
44 +#define NID_grasshopper_cbc             NID_kuznyechik_cbc
45 +
46 +#define SN_grasshopper_cfb              SN_kuznyechik_cfb
47 +#define NID_grasshopper_cfb             NID_kuznyechik_cfb
48 +
49 +#define SN_grasshopper_mac              SN_kuznyechik_mac
50 +#define NID_grasshopper_mac             NID_kuznyechik_mac
51 +
52 +#endif
53 diff --git crypto/objects/obj_dat.h crypto/objects/obj_dat.h
54 index 24b49a2d..d8082b59 100644
55 --- crypto/objects/obj_dat.h
56 +++ crypto/objects/obj_dat.h
57 @@ -10,7 +10,7 @@
58   */
59  
60  /* Serialized OID's */
61 -static const unsigned char so[7762] = {
62 +static const unsigned char so[7838] = {
63      0x2A,0x86,0x48,0x86,0xF7,0x0D,                 /* [    0] OBJ_rsadsi */
64      0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,            /* [    6] OBJ_pkcs */
65      0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x02,       /* [   13] OBJ_md2 */
66 @@ -1061,24 +1061,36 @@ static const unsigned char so[7762] = {
67      0x2B,0x6F,0x02,0x8C,0x53,                      /* [ 7612] OBJ_ieee_siswg */
68      0x2A,0x81,0x1C,0xCF,0x55,0x01,0x82,0x2D,       /* [ 7617] OBJ_sm2 */
69      0x2A,0x85,0x03,0x07,0x01,0x01,0x05,0x01,       /* [ 7625] OBJ_id_tc26_cipher_gostr3412_2015_magma */
70 -    0x2A,0x85,0x03,0x07,0x01,0x01,0x05,0x01,0x01,  /* [ 7633] OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm */
71 -    0x2A,0x85,0x03,0x07,0x01,0x01,0x05,0x01,0x02,  /* [ 7642] OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac */
72 -    0x2A,0x85,0x03,0x07,0x01,0x01,0x05,0x02,       /* [ 7651] OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik */
73 -    0x2A,0x85,0x03,0x07,0x01,0x01,0x05,0x02,0x01,  /* [ 7659] OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm */
74 -    0x2A,0x85,0x03,0x07,0x01,0x01,0x05,0x02,0x02,  /* [ 7668] OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac */
75 -    0x2A,0x85,0x03,0x07,0x01,0x01,0x07,            /* [ 7677] OBJ_id_tc26_wrap */
76 -    0x2A,0x85,0x03,0x07,0x01,0x01,0x07,0x01,       /* [ 7684] OBJ_id_tc26_wrap_gostr3412_2015_magma */
77 -    0x2A,0x85,0x03,0x07,0x01,0x01,0x07,0x01,0x01,  /* [ 7692] OBJ_id_tc26_wrap_gostr3412_2015_magma_kexp15 */
78 -    0x2A,0x85,0x03,0x07,0x01,0x01,0x07,0x02,       /* [ 7701] OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik */
79 -    0x2A,0x85,0x03,0x07,0x01,0x01,0x07,0x02,0x01,  /* [ 7709] OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 */
80 -    0x2A,0x85,0x03,0x07,0x01,0x02,0x01,0x01,0x02,  /* [ 7718] OBJ_id_tc26_gost_3410_2012_256_paramSetB */
81 -    0x2A,0x85,0x03,0x07,0x01,0x02,0x01,0x01,0x03,  /* [ 7727] OBJ_id_tc26_gost_3410_2012_256_paramSetC */
82 -    0x2A,0x85,0x03,0x07,0x01,0x02,0x01,0x01,0x04,  /* [ 7736] OBJ_id_tc26_gost_3410_2012_256_paramSetD */
83 -    0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x0C,       /* [ 7745] OBJ_hmacWithSHA512_224 */
84 -    0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x0D,       /* [ 7753] OBJ_hmacWithSHA512_256 */
85 +    0x2A,0x85,0x03,0x07,0x01,0x01,0x05,0x02,       /* [ 7633] OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik */
86 +    0x2A,0x85,0x03,0x07,0x01,0x01,0x07,            /* [ 7641] OBJ_id_tc26_wrap */
87 +    0x2A,0x85,0x03,0x07,0x01,0x01,0x07,0x01,       /* [ 7648] OBJ_id_tc26_wrap_gostr3412_2015_magma */
88 +    0x2A,0x85,0x03,0x07,0x01,0x01,0x07,0x02,       /* [ 7656] OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik */
89 +    0x2A,0x85,0x03,0x07,0x01,0x02,0x01,0x01,0x02,  /* [ 7664] OBJ_id_tc26_gost_3410_2012_256_paramSetB */
90 +    0x2A,0x85,0x03,0x07,0x01,0x02,0x01,0x01,0x03,  /* [ 7673] OBJ_id_tc26_gost_3410_2012_256_paramSetC */
91 +    0x2A,0x85,0x03,0x07,0x01,0x02,0x01,0x01,0x04,  /* [ 7682] OBJ_id_tc26_gost_3410_2012_256_paramSetD */
92 +    0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x0C,       /* [ 7691] OBJ_hmacWithSHA512_224 */
93 +    0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x0D,       /* [ 7699] OBJ_hmacWithSHA512_256 */
94 +    0x2A,0x85,0x03,0x07,0x01,0x00,                 /* [ 7707] OBJ_id_tc26_modules */
95 +    0x2A,0x85,0x03,0x07,0x01,0x00,0x06,            /* [ 7713] OBJ_id_tc26_cms */
96 +    0x2A,0x85,0x03,0x07,0x01,0x00,0x06,0x01,       /* [ 7720] OBJ_id_tc26_cms_attrs */
97 +    0x2A,0x85,0x03,0x07,0x01,0x00,0x06,0x01,0x01,  /* [ 7728] OBJ_id_tc26_mac_attr */
98 +    0x2A,0x85,0x03,0x07,0x01,0x01,0x05,0x01,0x01,  /* [ 7737] OBJ_magma_ctr_acpkm */
99 +    0x2A,0x85,0x03,0x07,0x01,0x01,0x05,0x01,0x02,  /* [ 7746] OBJ_magma_ctr_acpkm_omac */
100 +    0x2A,0x85,0x03,0x07,0x01,0x01,0x05,0x02,0x01,  /* [ 7755] OBJ_kuznyechik_ctr_acpkm */
101 +    0x2A,0x85,0x03,0x07,0x01,0x01,0x05,0x02,0x02,  /* [ 7764] OBJ_kuznyechik_ctr_acpkm_omac */
102 +    0x2A,0x85,0x03,0x07,0x01,0x01,0x07,0x01,0x01,  /* [ 7773] OBJ_magma_kexp15 */
103 +    0x2A,0x85,0x03,0x07,0x01,0x01,0x07,0x02,0x01,  /* [ 7782] OBJ_kuznyechik_kexp15 */
104 +    0x2A,0x85,0x03,0x64,0x05,                      /* [ 7791] OBJ_OGRNIP */
105 +    0x2A,0x85,0x03,0x64,0x71,                      /* [ 7796] OBJ_classSignTool */
106 +    0x2A,0x85,0x03,0x64,0x71,0x01,                 /* [ 7801] OBJ_classSignToolKC1 */
107 +    0x2A,0x85,0x03,0x64,0x71,0x02,                 /* [ 7807] OBJ_classSignToolKC2 */
108 +    0x2A,0x85,0x03,0x64,0x71,0x03,                 /* [ 7813] OBJ_classSignToolKC3 */
109 +    0x2A,0x85,0x03,0x64,0x71,0x04,                 /* [ 7819] OBJ_classSignToolKB1 */
110 +    0x2A,0x85,0x03,0x64,0x71,0x05,                 /* [ 7825] OBJ_classSignToolKB2 */
111 +    0x2A,0x85,0x03,0x64,0x71,0x06,                 /* [ 7831] OBJ_classSignToolKA1 */
112  };
113  
114 -#define NUM_NID 1195
115 +#define NUM_NID 1221
116  static const ASN1_OBJECT nid_objs[NUM_NID] = {
117      {"UNDEF", "undefined", NID_undef},
118      {"rsadsi", "RSA Data Security, Inc.", NID_rsadsi, 6, &so[0]},
119 @@ -2092,12 +2104,12 @@ static const ASN1_OBJECT nid_objs[NUM_NID] = {
120      {"gost89-cbc", "gost89-cbc", NID_gost89_cbc},
121      {"gost89-ecb", "gost89-ecb", NID_gost89_ecb},
122      {"gost89-ctr", "gost89-ctr", NID_gost89_ctr},
123 -    {"grasshopper-ecb", "grasshopper-ecb", NID_grasshopper_ecb},
124 -    {"grasshopper-ctr", "grasshopper-ctr", NID_grasshopper_ctr},
125 -    {"grasshopper-ofb", "grasshopper-ofb", NID_grasshopper_ofb},
126 -    {"grasshopper-cbc", "grasshopper-cbc", NID_grasshopper_cbc},
127 -    {"grasshopper-cfb", "grasshopper-cfb", NID_grasshopper_cfb},
128 -    {"grasshopper-mac", "grasshopper-mac", NID_grasshopper_mac},
129 +    { NULL, NULL, NID_undef },
130 +    { NULL, NULL, NID_undef },
131 +    { NULL, NULL, NID_undef },
132 +    { NULL, NULL, NID_undef },
133 +    { NULL, NULL, NID_undef },
134 +    { NULL, NULL, NID_undef },
135      {"ChaCha20-Poly1305", "chacha20-poly1305", NID_chacha20_poly1305},
136      {"ChaCha20", "chacha20", NID_chacha20},
137      {"tlsfeature", "TLS Feature", NID_tlsfeature, 8, &so[6619]},
138 @@ -2254,30 +2266,56 @@ static const ASN1_OBJECT nid_objs[NUM_NID] = {
139      {"ieee-siswg", "IEEE Security in Storage Working Group", NID_ieee_siswg, 5, &so[7612]},
140      {"SM2", "sm2", NID_sm2, 8, &so[7617]},
141      {"id-tc26-cipher-gostr3412-2015-magma", "id-tc26-cipher-gostr3412-2015-magma", NID_id_tc26_cipher_gostr3412_2015_magma, 8, &so[7625]},
142 -    {"id-tc26-cipher-gostr3412-2015-magma-ctracpkm", "id-tc26-cipher-gostr3412-2015-magma-ctracpkm", NID_id_tc26_cipher_gostr3412_2015_magma_ctracpkm, 9, &so[7633]},
143 -    {"id-tc26-cipher-gostr3412-2015-magma-ctracpkm-omac", "id-tc26-cipher-gostr3412-2015-magma-ctracpkm-omac", NID_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac, 9, &so[7642]},
144 -    {"id-tc26-cipher-gostr3412-2015-kuznyechik", "id-tc26-cipher-gostr3412-2015-kuznyechik", NID_id_tc26_cipher_gostr3412_2015_kuznyechik, 8, &so[7651]},
145 -    {"id-tc26-cipher-gostr3412-2015-kuznyechik-ctracpkm", "id-tc26-cipher-gostr3412-2015-kuznyechik-ctracpkm", NID_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm, 9, &so[7659]},
146 -    {"id-tc26-cipher-gostr3412-2015-kuznyechik-ctracpkm-omac", "id-tc26-cipher-gostr3412-2015-kuznyechik-ctracpkm-omac", NID_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac, 9, &so[7668]},
147 -    {"id-tc26-wrap", "id-tc26-wrap", NID_id_tc26_wrap, 7, &so[7677]},
148 -    {"id-tc26-wrap-gostr3412-2015-magma", "id-tc26-wrap-gostr3412-2015-magma", NID_id_tc26_wrap_gostr3412_2015_magma, 8, &so[7684]},
149 -    {"id-tc26-wrap-gostr3412-2015-magma-kexp15", "id-tc26-wrap-gostr3412-2015-magma-kexp15", NID_id_tc26_wrap_gostr3412_2015_magma_kexp15, 9, &so[7692]},
150 -    {"id-tc26-wrap-gostr3412-2015-kuznyechik", "id-tc26-wrap-gostr3412-2015-kuznyechik", NID_id_tc26_wrap_gostr3412_2015_kuznyechik, 8, &so[7701]},
151 -    {"id-tc26-wrap-gostr3412-2015-kuznyechik-kexp15", "id-tc26-wrap-gostr3412-2015-kuznyechik-kexp15", NID_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15, 9, &so[7709]},
152 -    {"id-tc26-gost-3410-2012-256-paramSetB", "GOST R 34.10-2012 (256 bit) ParamSet B", NID_id_tc26_gost_3410_2012_256_paramSetB, 9, &so[7718]},
153 -    {"id-tc26-gost-3410-2012-256-paramSetC", "GOST R 34.10-2012 (256 bit) ParamSet C", NID_id_tc26_gost_3410_2012_256_paramSetC, 9, &so[7727]},
154 -    {"id-tc26-gost-3410-2012-256-paramSetD", "GOST R 34.10-2012 (256 bit) ParamSet D", NID_id_tc26_gost_3410_2012_256_paramSetD, 9, &so[7736]},
155 +    { NULL, NULL, NID_undef },
156 +    { NULL, NULL, NID_undef },
157 +    {"id-tc26-cipher-gostr3412-2015-kuznyechik", "id-tc26-cipher-gostr3412-2015-kuznyechik", NID_id_tc26_cipher_gostr3412_2015_kuznyechik, 8, &so[7633]},
158 +    { NULL, NULL, NID_undef },
159 +    { NULL, NULL, NID_undef },
160 +    {"id-tc26-wrap", "id-tc26-wrap", NID_id_tc26_wrap, 7, &so[7641]},
161 +    {"id-tc26-wrap-gostr3412-2015-magma", "id-tc26-wrap-gostr3412-2015-magma", NID_id_tc26_wrap_gostr3412_2015_magma, 8, &so[7648]},
162 +    { NULL, NULL, NID_undef },
163 +    {"id-tc26-wrap-gostr3412-2015-kuznyechik", "id-tc26-wrap-gostr3412-2015-kuznyechik", NID_id_tc26_wrap_gostr3412_2015_kuznyechik, 8, &so[7656]},
164 +    { NULL, NULL, NID_undef },
165 +    {"id-tc26-gost-3410-2012-256-paramSetB", "GOST R 34.10-2012 (256 bit) ParamSet B", NID_id_tc26_gost_3410_2012_256_paramSetB, 9, &so[7664]},
166 +    {"id-tc26-gost-3410-2012-256-paramSetC", "GOST R 34.10-2012 (256 bit) ParamSet C", NID_id_tc26_gost_3410_2012_256_paramSetC, 9, &so[7673]},
167 +    {"id-tc26-gost-3410-2012-256-paramSetD", "GOST R 34.10-2012 (256 bit) ParamSet D", NID_id_tc26_gost_3410_2012_256_paramSetD, 9, &so[7682]},
168      {"magma-ecb", "magma-ecb", NID_magma_ecb},
169      {"magma-ctr", "magma-ctr", NID_magma_ctr},
170      {"magma-ofb", "magma-ofb", NID_magma_ofb},
171      {"magma-cbc", "magma-cbc", NID_magma_cbc},
172      {"magma-cfb", "magma-cfb", NID_magma_cfb},
173      {"magma-mac", "magma-mac", NID_magma_mac},
174 -    {"hmacWithSHA512-224", "hmacWithSHA512-224", NID_hmacWithSHA512_224, 8, &so[7745]},
175 -    {"hmacWithSHA512-256", "hmacWithSHA512-256", NID_hmacWithSHA512_256, 8, &so[7753]},
176 +    {"hmacWithSHA512-224", "hmacWithSHA512-224", NID_hmacWithSHA512_224, 8, &so[7691]},
177 +    {"hmacWithSHA512-256", "hmacWithSHA512-256", NID_hmacWithSHA512_256, 8, &so[7699]},
178 +    {"id-tc26-modules", "GOST TC26 ASN.1 modules", NID_id_tc26_modules, 6, &so[7707]},
179 +    {"id-tc26-cms", "GOST TC26 SMS", NID_id_tc26_cms, 7, &so[7713]},
180 +    {"id-tc26-cms-attrs", "GOST TC26 SMS attributes", NID_id_tc26_cms_attrs, 8, &so[7720]},
181 +    {"id-tc26-mac-attr", "GOST TC26 SMS content-mac attribute", NID_id_tc26_mac_attr, 9, &so[7728]},
182 +    {"magma-ctr-acpkm", "magma-ctr-acpkm", NID_magma_ctr_acpkm, 9, &so[7737]},
183 +    {"magma-ctr-acpkm-omac", "magma-ctr-acpkm-omac", NID_magma_ctr_acpkm_omac, 9, &so[7746]},
184 +    {"kuznyechik-ctr-acpkm", "kuznyechik-ctr-acpkm", NID_kuznyechik_ctr_acpkm, 9, &so[7755]},
185 +    {"kuznyechik-ctr-acpkm-omac", "kuznyechik-ctr-acpkm-omac", NID_kuznyechik_ctr_acpkm_omac, 9, &so[7764]},
186 +    {"magma-kexp15", "magma-kexp15", NID_magma_kexp15, 9, &so[7773]},
187 +    {"kuznyechik-kexp15", "kuznyechik-kexp15", NID_kuznyechik_kexp15, 9, &so[7782]},
188 +    {"OGRNIP", "OGRNIP", NID_OGRNIP, 5, &so[7791]},
189 +    {"classSignTool", "Class of Signing Tool", NID_classSignTool, 5, &so[7796]},
190 +    {"classSignToolKC1", "Class of Signing Tool KC1", NID_classSignToolKC1, 6, &so[7801]},
191 +    {"classSignToolKC2", "Class of Signing Tool KC2", NID_classSignToolKC2, 6, &so[7807]},
192 +    {"classSignToolKC3", "Class of Signing Tool KC3", NID_classSignToolKC3, 6, &so[7813]},
193 +    {"classSignToolKB1", "Class of Signing Tool KB1", NID_classSignToolKB1, 6, &so[7819]},
194 +    {"classSignToolKB2", "Class of Signing Tool KB2", NID_classSignToolKB2, 6, &so[7825]},
195 +    {"classSignToolKA1", "Class of Signing Tool KA1", NID_classSignToolKA1, 6, &so[7831]},
196 +    {"kuznyechik-ecb", "kuznyechik-ecb", NID_kuznyechik_ecb},
197 +    {"kuznyechik-ctr", "kuznyechik-ctr", NID_kuznyechik_ctr},
198 +    {"kuznyechik-ofb", "kuznyechik-ofb", NID_kuznyechik_ofb},
199 +    {"kuznyechik-cbc", "kuznyechik-cbc", NID_kuznyechik_cbc},
200 +    {"kuznyechik-cfb", "kuznyechik-cfb", NID_kuznyechik_cfb},
201 +    {"kuznyechik-mac", "kuznyechik-mac", NID_kuznyechik_mac},
202 +    {"kuznyechik-mgm", "kuznyechik-mgm", NID_kuznyechik_mgm},
203 +    {"magma-mgm", "magma-mgm", NID_magma_mgm},
204  };
205  
206 -#define NUM_SN 1186
207 +#define NUM_SN 1200
208  static const unsigned int sn_objs[NUM_SN] = {
209       364,    /* "AD_DVCS" */
210       419,    /* "AES-128-CBC" */
211 @@ -2469,6 +2507,7 @@ static const unsigned int sn_objs[NUM_SN] = {
212       178,    /* "OCSP" */
213       180,    /* "OCSPSigning" */
214      1005,    /* "OGRN" */
215 +    1205,    /* "OGRNIP" */
216       379,    /* "ORG" */
217        18,    /* "OU" */
218       749,    /* "Oakley-EC2N-3" */
219 @@ -2642,6 +2681,13 @@ static const unsigned int sn_objs[NUM_SN] = {
220       883,    /* "certificateRevocationList" */
221        54,    /* "challengePassword" */
222       407,    /* "characteristic-two-field" */
223 +    1206,    /* "classSignTool" */
224 +    1212,    /* "classSignToolKA1" */
225 +    1210,    /* "classSignToolKB1" */
226 +    1211,    /* "classSignToolKB2" */
227 +    1207,    /* "classSignToolKC1" */
228 +    1208,    /* "classSignToolKC2" */
229 +    1209,    /* "classSignToolKC3" */
230       395,    /* "clearance" */
231       130,    /* "clientAuth" */
232      1131,    /* "cmcCA" */
233 @@ -2748,12 +2794,6 @@ static const unsigned int sn_objs[NUM_SN] = {
234      1010,    /* "gost89-ecb" */
235       812,    /* "gost94" */
236       850,    /* "gost94cc" */
237 -    1015,    /* "grasshopper-cbc" */
238 -    1016,    /* "grasshopper-cfb" */
239 -    1013,    /* "grasshopper-ctr" */
240 -    1012,    /* "grasshopper-ecb" */
241 -    1017,    /* "grasshopper-mac" */
242 -    1014,    /* "grasshopper-ofb" */
243      1156,    /* "hmacWithDstu34311" */
244       797,    /* "hmacWithMD5" */
245       163,    /* "hmacWithSHA1" */
246 @@ -3040,11 +3080,9 @@ static const unsigned int sn_objs[NUM_SN] = {
247       990,    /* "id-tc26-cipher" */
248      1001,    /* "id-tc26-cipher-constants" */
249      1176,    /* "id-tc26-cipher-gostr3412-2015-kuznyechik" */
250 -    1177,    /* "id-tc26-cipher-gostr3412-2015-kuznyechik-ctracpkm" */
251 -    1178,    /* "id-tc26-cipher-gostr3412-2015-kuznyechik-ctracpkm-omac" */
252      1173,    /* "id-tc26-cipher-gostr3412-2015-magma" */
253 -    1174,    /* "id-tc26-cipher-gostr3412-2015-magma-ctracpkm" */
254 -    1175,    /* "id-tc26-cipher-gostr3412-2015-magma-ctracpkm-omac" */
255 +    1196,    /* "id-tc26-cms" */
256 +    1197,    /* "id-tc26-cms-attrs" */
257       994,    /* "id-tc26-constants" */
258       981,    /* "id-tc26-digest" */
259      1000,    /* "id-tc26-digest-constants" */
260 @@ -3063,6 +3101,8 @@ static const unsigned int sn_objs[NUM_SN] = {
261       988,    /* "id-tc26-hmac-gost-3411-2012-256" */
262       989,    /* "id-tc26-hmac-gost-3411-2012-512" */
263       987,    /* "id-tc26-mac" */
264 +    1198,    /* "id-tc26-mac-attr" */
265 +    1195,    /* "id-tc26-modules" */
266       978,    /* "id-tc26-sign" */
267       995,    /* "id-tc26-sign-constants" */
268       984,    /* "id-tc26-signwithdigest" */
269 @@ -3070,9 +3110,7 @@ static const unsigned int sn_objs[NUM_SN] = {
270       986,    /* "id-tc26-signwithdigest-gost3410-2012-512" */
271      1179,    /* "id-tc26-wrap" */
272      1182,    /* "id-tc26-wrap-gostr3412-2015-kuznyechik" */
273 -    1183,    /* "id-tc26-wrap-gostr3412-2015-kuznyechik-kexp15" */
274      1180,    /* "id-tc26-wrap-gostr3412-2015-magma" */
275 -    1181,    /* "id-tc26-wrap-gostr3412-2015-magma-kexp15" */
276       676,    /* "identified-organization" */
277      1170,    /* "ieee" */
278      1171,    /* "ieee-siswg" */
279 @@ -3095,6 +3133,16 @@ static const unsigned int sn_objs[NUM_SN] = {
280       956,    /* "jurisdictionST" */
281       150,    /* "keyBag" */
282        83,    /* "keyUsage" */
283 +    1216,    /* "kuznyechik-cbc" */
284 +    1217,    /* "kuznyechik-cfb" */
285 +    1214,    /* "kuznyechik-ctr" */
286 +    1201,    /* "kuznyechik-ctr-acpkm" */
287 +    1202,    /* "kuznyechik-ctr-acpkm-omac" */
288 +    1213,    /* "kuznyechik-ecb" */
289 +    1204,    /* "kuznyechik-kexp15" */
290 +    1218,    /* "kuznyechik-mac" */
291 +    1219,    /* "kuznyechik-mgm" */
292 +    1215,    /* "kuznyechik-ofb" */
293       477,    /* "lastModifiedBy" */
294       476,    /* "lastModifiedTime" */
295       157,    /* "localKeyID" */
296 @@ -3102,8 +3150,12 @@ static const unsigned int sn_objs[NUM_SN] = {
297      1190,    /* "magma-cbc" */
298      1191,    /* "magma-cfb" */
299      1188,    /* "magma-ctr" */
300 +    1199,    /* "magma-ctr-acpkm" */
301 +    1200,    /* "magma-ctr-acpkm-omac" */
302      1187,    /* "magma-ecb" */
303 +    1203,    /* "magma-kexp15" */
304      1192,    /* "magma-mac" */
305 +    1220,    /* "magma-mgm" */
306      1189,    /* "magma-ofb" */
307       460,    /* "mail" */
308       493,    /* "mailPreferenceOption" */
309 @@ -3467,7 +3519,7 @@ static const unsigned int sn_objs[NUM_SN] = {
310      1093,    /* "x509ExtAdmission" */
311  };
312  
313 -#define NUM_LN 1186
314 +#define NUM_LN 1200
315  static const unsigned int ln_objs[NUM_LN] = {
316       363,    /* "AD Time Stamping" */
317       405,    /* "ANSI X9.62" */
318 @@ -3485,6 +3537,13 @@ static const unsigned int ln_objs[NUM_LN] = {
319       952,    /* "CT Precertificate Poison" */
320       951,    /* "CT Precertificate SCTs" */
321       953,    /* "CT Precertificate Signer" */
322 +    1206,    /* "Class of Signing Tool" */
323 +    1212,    /* "Class of Signing Tool KA1" */
324 +    1210,    /* "Class of Signing Tool KB1" */
325 +    1211,    /* "Class of Signing Tool KB2" */
326 +    1207,    /* "Class of Signing Tool KC1" */
327 +    1208,    /* "Class of Signing Tool KC2" */
328 +    1209,    /* "Class of Signing Tool KC3" */
329       131,    /* "Code Signing" */
330      1024,    /* "Ctrl/Provision WAP Termination" */
331      1023,    /* "Ctrl/provision WAP Access" */
332 @@ -3546,6 +3605,10 @@ static const unsigned int ln_objs[NUM_LN] = {
333       808,    /* "GOST R 34.11-94 with GOST R 34.10-94" */
334       852,    /* "GOST R 34.11-94 with GOST R 34.10-94 Cryptocom" */
335       854,    /* "GOST R 3410-2001 Parameter Set Cryptocom" */
336 +    1195,    /* "GOST TC26 ASN.1 modules" */
337 +    1196,    /* "GOST TC26 SMS" */
338 +    1197,    /* "GOST TC26 SMS attributes" */
339 +    1198,    /* "GOST TC26 SMS content-mac attribute" */
340      1156,    /* "HMAC DSTU Gost 34311-95" */
341       988,    /* "HMAC GOST 34.11-2012 256 bit" */
342       989,    /* "HMAC GOST 34.11-2012 512 bit" */
343 @@ -3604,6 +3667,7 @@ static const unsigned int ln_objs[NUM_LN] = {
344       371,    /* "OCSP Service Locator" */
345       180,    /* "OCSP Signing" */
346      1005,    /* "OGRN" */
347 +    1205,    /* "OGRNIP" */
348       161,    /* "PBES2" */
349        69,    /* "PBKDF2" */
350       162,    /* "PBMAC1" */
351 @@ -3967,12 +4031,6 @@ static const unsigned int ln_objs[NUM_LN] = {
352       975,    /* "gost89-cnt-12" */
353      1011,    /* "gost89-ctr" */
354      1010,    /* "gost89-ecb" */
355 -    1015,    /* "grasshopper-cbc" */
356 -    1016,    /* "grasshopper-cfb" */
357 -    1013,    /* "grasshopper-ctr" */
358 -    1012,    /* "grasshopper-ecb" */
359 -    1017,    /* "grasshopper-mac" */
360 -    1014,    /* "grasshopper-ofb" */
361      1036,    /* "hkdf" */
362       855,    /* "hmac" */
363       780,    /* "hmac-md5" */
364 @@ -4220,11 +4278,7 @@ static const unsigned int ln_objs[NUM_LN] = {
365       990,    /* "id-tc26-cipher" */
366      1001,    /* "id-tc26-cipher-constants" */
367      1176,    /* "id-tc26-cipher-gostr3412-2015-kuznyechik" */
368 -    1177,    /* "id-tc26-cipher-gostr3412-2015-kuznyechik-ctracpkm" */
369 -    1178,    /* "id-tc26-cipher-gostr3412-2015-kuznyechik-ctracpkm-omac" */
370      1173,    /* "id-tc26-cipher-gostr3412-2015-magma" */
371 -    1174,    /* "id-tc26-cipher-gostr3412-2015-magma-ctracpkm" */
372 -    1175,    /* "id-tc26-cipher-gostr3412-2015-magma-ctracpkm-omac" */
373       994,    /* "id-tc26-constants" */
374       981,    /* "id-tc26-digest" */
375      1000,    /* "id-tc26-digest-constants" */
376 @@ -4237,9 +4291,7 @@ static const unsigned int ln_objs[NUM_LN] = {
377       984,    /* "id-tc26-signwithdigest" */
378      1179,    /* "id-tc26-wrap" */
379      1182,    /* "id-tc26-wrap-gostr3412-2015-kuznyechik" */
380 -    1183,    /* "id-tc26-wrap-gostr3412-2015-kuznyechik-kexp15" */
381      1180,    /* "id-tc26-wrap-gostr3412-2015-magma" */
382 -    1181,    /* "id-tc26-wrap-gostr3412-2015-magma-kexp15" */
383        34,    /* "idea-cbc" */
384        35,    /* "idea-cfb" */
385        36,    /* "idea-ecb" */
386 @@ -4262,6 +4314,16 @@ static const unsigned int ln_objs[NUM_LN] = {
387       956,    /* "jurisdictionStateOrProvinceName" */
388       150,    /* "keyBag" */
389       773,    /* "kisa" */
390 +    1216,    /* "kuznyechik-cbc" */
391 +    1217,    /* "kuznyechik-cfb" */
392 +    1214,    /* "kuznyechik-ctr" */
393 +    1201,    /* "kuznyechik-ctr-acpkm" */
394 +    1202,    /* "kuznyechik-ctr-acpkm-omac" */
395 +    1213,    /* "kuznyechik-ecb" */
396 +    1204,    /* "kuznyechik-kexp15" */
397 +    1218,    /* "kuznyechik-mac" */
398 +    1219,    /* "kuznyechik-mgm" */
399 +    1215,    /* "kuznyechik-ofb" */
400      1063,    /* "kx-any" */
401      1039,    /* "kx-dhe" */
402      1041,    /* "kx-dhe-psk" */
403 @@ -4280,8 +4342,12 @@ static const unsigned int ln_objs[NUM_LN] = {
404      1190,    /* "magma-cbc" */
405      1191,    /* "magma-cfb" */
406      1188,    /* "magma-ctr" */
407 +    1199,    /* "magma-ctr-acpkm" */
408 +    1200,    /* "magma-ctr-acpkm-omac" */
409      1187,    /* "magma-ecb" */
410 +    1203,    /* "magma-kexp15" */
411      1192,    /* "magma-mac" */
412 +    1220,    /* "magma-mgm" */
413      1189,    /* "magma-ofb" */
414       493,    /* "mailPreferenceOption" */
415       467,    /* "manager" */
416 @@ -4657,7 +4723,7 @@ static const unsigned int ln_objs[NUM_LN] = {
417       125,    /* "zlib compression" */
418  };
419  
420 -#define NUM_OBJ 1071
421 +#define NUM_OBJ 1083
422  static const unsigned int obj_objs[NUM_OBJ] = {
423         0,    /* OBJ_undef                        0 */
424       181,    /* OBJ_iso                          1 */
425 @@ -4910,8 +4976,10 @@ static const unsigned int obj_objs[NUM_OBJ] = {
426       974,    /* OBJ_id_tc26                      1 2 643 7 1 */
427      1005,    /* OBJ_OGRN                         1 2 643 100 1 */
428      1006,    /* OBJ_SNILS                        1 2 643 100 3 */
429 +    1205,    /* OBJ_OGRNIP                       1 2 643 100 5 */
430      1007,    /* OBJ_subjectSignTool              1 2 643 100 111 */
431      1008,    /* OBJ_issuerSignTool               1 2 643 100 112 */
432 +    1206,    /* OBJ_classSignTool                1 2 643 100 113 */
433       184,    /* OBJ_X9_57                        1 2 840 10040 */
434       405,    /* OBJ_ansi_X9_62                   1 2 840 10045 */
435       389,    /* OBJ_Enterprises                  1 3 6 1 4 1 */
436 @@ -4998,8 +5066,15 @@ static const unsigned int obj_objs[NUM_OBJ] = {
437       816,    /* OBJ_id_GostR3411_94_prf          1 2 643 2 2 23 */
438       817,    /* OBJ_id_GostR3410_2001DH          1 2 643 2 2 98 */
439       818,    /* OBJ_id_GostR3410_94DH            1 2 643 2 2 99 */
440 +    1195,    /* OBJ_id_tc26_modules              1 2 643 7 1 0 */
441       977,    /* OBJ_id_tc26_algorithms           1 2 643 7 1 1 */
442       994,    /* OBJ_id_tc26_constants            1 2 643 7 1 2 */
443 +    1207,    /* OBJ_classSignToolKC1             1 2 643 100 113 1 */
444 +    1208,    /* OBJ_classSignToolKC2             1 2 643 100 113 2 */
445 +    1209,    /* OBJ_classSignToolKC3             1 2 643 100 113 3 */
446 +    1210,    /* OBJ_classSignToolKB1             1 2 643 100 113 4 */
447 +    1211,    /* OBJ_classSignToolKB2             1 2 643 100 113 5 */
448 +    1212,    /* OBJ_classSignToolKA1             1 2 643 100 113 6 */
449         1,    /* OBJ_rsadsi                       1 2 840 113549 */
450       185,    /* OBJ_X9cm                         1 2 840 10040 4 */
451      1031,    /* OBJ_id_pkinit                    1 3 6 1 5 2 3 */
452 @@ -5051,6 +5126,7 @@ static const unsigned int obj_objs[NUM_OBJ] = {
453       842,    /* OBJ_id_GostR3410_2001_CryptoPro_C_ParamSet 1 2 643 2 2 35 3 */
454       843,    /* OBJ_id_GostR3410_2001_CryptoPro_XchA_ParamSet 1 2 643 2 2 36 0 */
455       844,    /* OBJ_id_GostR3410_2001_CryptoPro_XchB_ParamSet 1 2 643 2 2 36 1 */
456 +    1196,    /* OBJ_id_tc26_cms                  1 2 643 7 1 0 6 */
457       978,    /* OBJ_id_tc26_sign                 1 2 643 7 1 1 1 */
458       981,    /* OBJ_id_tc26_digest               1 2 643 7 1 1 2 */
459       984,    /* OBJ_id_tc26_signwithdigest       1 2 643 7 1 1 3 */
460 @@ -5138,6 +5214,7 @@ static const unsigned int obj_objs[NUM_OBJ] = {
461       849,    /* OBJ_id_Gost28147_89_cc           1 2 643 2 9 1 6 1 */
462       854,    /* OBJ_id_GostR3410_2001_ParamSet_cc 1 2 643 2 9 1 8 1 */
463      1004,    /* OBJ_INN                          1 2 643 3 131 1 1 */
464 +    1197,    /* OBJ_id_tc26_cms_attrs            1 2 643 7 1 0 6 1 */
465       979,    /* OBJ_id_GostR3410_2012_256        1 2 643 7 1 1 1 1 */
466       980,    /* OBJ_id_GostR3410_2012_512        1 2 643 7 1 1 1 2 */
467       982,    /* OBJ_id_GostR3411_2012_256        1 2 643 7 1 1 2 2 */
468 @@ -5359,12 +5436,13 @@ static const unsigned int obj_objs[NUM_OBJ] = {
469      1120,    /* OBJ_aria_128_ccm                 1 2 410 200046 1 1 37 */
470      1121,    /* OBJ_aria_192_ccm                 1 2 410 200046 1 1 38 */
471      1122,    /* OBJ_aria_256_ccm                 1 2 410 200046 1 1 39 */
472 -    1174,    /* OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm 1 2 643 7 1 1 5 1 1 */
473 -    1175,    /* OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac 1 2 643 7 1 1 5 1 2 */
474 -    1177,    /* OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm 1 2 643 7 1 1 5 2 1 */
475 -    1178,    /* OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac 1 2 643 7 1 1 5 2 2 */
476 -    1181,    /* OBJ_id_tc26_wrap_gostr3412_2015_magma_kexp15 1 2 643 7 1 1 7 1 1 */
477 -    1183,    /* OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 1 2 643 7 1 1 7 2 1 */
478 +    1198,    /* OBJ_id_tc26_mac_attr             1 2 643 7 1 0 6 1 1 */
479 +    1199,    /* OBJ_magma_ctr_acpkm              1 2 643 7 1 1 5 1 1 */
480 +    1200,    /* OBJ_magma_ctr_acpkm_omac         1 2 643 7 1 1 5 1 2 */
481 +    1201,    /* OBJ_kuznyechik_ctr_acpkm         1 2 643 7 1 1 5 2 1 */
482 +    1202,    /* OBJ_kuznyechik_ctr_acpkm_omac    1 2 643 7 1 1 5 2 2 */
483 +    1203,    /* OBJ_magma_kexp15                 1 2 643 7 1 1 7 1 1 */
484 +    1204,    /* OBJ_kuznyechik_kexp15            1 2 643 7 1 1 7 2 1 */
485      1148,    /* OBJ_id_tc26_gost_3410_2012_256_paramSetA 1 2 643 7 1 2 1 1 1 */
486      1184,    /* OBJ_id_tc26_gost_3410_2012_256_paramSetB 1 2 643 7 1 2 1 1 2 */
487      1185,    /* OBJ_id_tc26_gost_3410_2012_256_paramSetC 1 2 643 7 1 2 1 1 3 */
488 diff --git crypto/objects/obj_mac.num crypto/objects/obj_mac.num
489 index 1b6a9c61..6d70d8c0 100644
490 --- crypto/objects/obj_mac.num
491 +++ crypto/objects/obj_mac.num
492 @@ -1192,3 +1192,29 @@ magma_cfb                1191
493  magma_mac              1192
494  hmacWithSHA512_224             1193
495  hmacWithSHA512_256             1194
496 +id_tc26_modules                1195
497 +id_tc26_cms            1196
498 +id_tc26_cms_attrs              1197
499 +id_tc26_mac_attr               1198
500 +magma_ctr_acpkm                1199
501 +magma_ctr_acpkm_omac           1200
502 +kuznyechik_ctr_acpkm           1201
503 +kuznyechik_ctr_acpkm_omac              1202
504 +magma_kexp15           1203
505 +kuznyechik_kexp15              1204
506 +OGRNIP         1205
507 +classSignTool          1206
508 +classSignToolKC1               1207
509 +classSignToolKC2               1208
510 +classSignToolKC3               1209
511 +classSignToolKB1               1210
512 +classSignToolKB2               1211
513 +classSignToolKA1               1212
514 +kuznyechik_ecb         1213
515 +kuznyechik_ctr         1214
516 +kuznyechik_ofb         1215
517 +kuznyechik_cbc         1216
518 +kuznyechik_cfb         1217
519 +kuznyechik_mac         1218
520 +kuznyechik_mgm         1219
521 +magma_mgm              1220
522 diff --git fuzz/oids.txt fuzz/oids.txt
523 index eda55e4e..5c81d68a 100644
524 --- fuzz/oids.txt
525 +++ fuzz/oids.txt
526 @@ -1048,18 +1048,30 @@ OBJ_ieee="\x2B\x6F"
527  OBJ_ieee_siswg="\x2B\x6F\x02\x8C\x53"
528  OBJ_sm2="\x2A\x81\x1C\xCF\x55\x01\x82\x2D"
529  OBJ_id_tc26_cipher_gostr3412_2015_magma="\x2A\x85\x03\x07\x01\x01\x05\x01"
530 -OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm="\x2A\x85\x03\x07\x01\x01\x05\x01\x01"
531 -OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac="\x2A\x85\x03\x07\x01\x01\x05\x01\x02"
532  OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik="\x2A\x85\x03\x07\x01\x01\x05\x02"
533 -OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm="\x2A\x85\x03\x07\x01\x01\x05\x02\x01"
534 -OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac="\x2A\x85\x03\x07\x01\x01\x05\x02\x02"
535  OBJ_id_tc26_wrap="\x2A\x85\x03\x07\x01\x01\x07"
536  OBJ_id_tc26_wrap_gostr3412_2015_magma="\x2A\x85\x03\x07\x01\x01\x07\x01"
537 -OBJ_id_tc26_wrap_gostr3412_2015_magma_kexp15="\x2A\x85\x03\x07\x01\x01\x07\x01\x01"
538  OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik="\x2A\x85\x03\x07\x01\x01\x07\x02"
539 -OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15="\x2A\x85\x03\x07\x01\x01\x07\x02\x01"
540  OBJ_id_tc26_gost_3410_2012_256_paramSetB="\x2A\x85\x03\x07\x01\x02\x01\x01\x02"
541  OBJ_id_tc26_gost_3410_2012_256_paramSetC="\x2A\x85\x03\x07\x01\x02\x01\x01\x03"
542  OBJ_id_tc26_gost_3410_2012_256_paramSetD="\x2A\x85\x03\x07\x01\x02\x01\x01\x04"
543  OBJ_hmacWithSHA512_224="\x2A\x86\x48\x86\xF7\x0D\x02\x0C"
544  OBJ_hmacWithSHA512_256="\x2A\x86\x48\x86\xF7\x0D\x02\x0D"
545 +OBJ_id_tc26_modules="\x2A\x85\x03\x07\x01\x00"
546 +OBJ_id_tc26_cms="\x2A\x85\x03\x07\x01\x00\x06"
547 +OBJ_id_tc26_cms_attrs="\x2A\x85\x03\x07\x01\x00\x06\x01"
548 +OBJ_id_tc26_mac_attr="\x2A\x85\x03\x07\x01\x00\x06\x01\x01"
549 +OBJ_magma_ctr_acpkm="\x2A\x85\x03\x07\x01\x01\x05\x01\x01"
550 +OBJ_magma_ctr_acpkm_omac="\x2A\x85\x03\x07\x01\x01\x05\x01\x02"
551 +OBJ_kuznyechik_ctr_acpkm="\x2A\x85\x03\x07\x01\x01\x05\x02\x01"
552 +OBJ_kuznyechik_ctr_acpkm_omac="\x2A\x85\x03\x07\x01\x01\x05\x02\x02"
553 +OBJ_magma_kexp15="\x2A\x85\x03\x07\x01\x01\x07\x01\x01"
554 +OBJ_kuznyechik_kexp15="\x2A\x85\x03\x07\x01\x01\x07\x02\x01"
555 +OBJ_OGRNIP="\x2A\x85\x03\x64\x05"
556 +OBJ_classSignTool="\x2A\x85\x03\x64\x71"
557 +OBJ_classSignToolKC1="\x2A\x85\x03\x64\x71\x01"
558 +OBJ_classSignToolKC2="\x2A\x85\x03\x64\x71\x02"
559 +OBJ_classSignToolKC3="\x2A\x85\x03\x64\x71\x03"
560 +OBJ_classSignToolKB1="\x2A\x85\x03\x64\x71\x04"
561 +OBJ_classSignToolKB2="\x2A\x85\x03\x64\x71\x05"
562 +OBJ_classSignToolKA1="\x2A\x85\x03\x64\x71\x06"
563 diff --git include/openssl/obj_mac.h include/openssl/obj_mac.h
564 index 260357b1..90b5de76 100644
565 --- include/openssl/obj_mac.h
566 +++ include/openssl/obj_mac.h
567 @@ -4164,22 +4164,22 @@
568  
569  #define SN_id_tc26_modules              "id-tc26-modules"
570  #define LN_id_tc26_modules              "GOST TC26 ASN.1 modules"
571 -#define NID_id_tc26_modules             1203
572 +#define NID_id_tc26_modules             1195
573  #define OBJ_id_tc26_modules             OBJ_id_tc26,0L
574  
575  #define SN_id_tc26_cms          "id-tc26-cms"
576  #define LN_id_tc26_cms          "GOST TC26 SMS"
577 -#define NID_id_tc26_cms         1204
578 +#define NID_id_tc26_cms         1196
579  #define OBJ_id_tc26_cms         OBJ_id_tc26_modules,6L
580  
581  #define SN_id_tc26_cms_attrs            "id-tc26-cms-attrs"
582  #define LN_id_tc26_cms_attrs            "GOST TC26 SMS attributes"
583 -#define NID_id_tc26_cms_attrs           1205
584 +#define NID_id_tc26_cms_attrs           1197
585  #define OBJ_id_tc26_cms_attrs           OBJ_id_tc26_cms,1L
586  
587  #define SN_id_tc26_mac_attr             "id-tc26-mac-attr"
588  #define LN_id_tc26_mac_attr             "GOST TC26 SMS content-mac attribute"
589 -#define NID_id_tc26_mac_attr            1206
590 +#define NID_id_tc26_mac_attr            1198
591  #define OBJ_id_tc26_mac_attr            OBJ_id_tc26_cms_attrs,1L
592  
593  #define SN_id_tc26_algorithms           "id-tc26-algorithms"
594 @@ -4251,11 +4251,11 @@
595  #define OBJ_id_tc26_cipher_gostr3412_2015_magma         OBJ_id_tc26_cipher,1L
596  
597  #define SN_magma_ctr_acpkm              "magma-ctr-acpkm"
598 -#define NID_magma_ctr_acpkm             1174
599 +#define NID_magma_ctr_acpkm             1199
600  #define OBJ_magma_ctr_acpkm             OBJ_id_tc26_cipher_gostr3412_2015_magma,1L
601  
602  #define SN_magma_ctr_acpkm_omac         "magma-ctr-acpkm-omac"
603 -#define NID_magma_ctr_acpkm_omac                1175
604 +#define NID_magma_ctr_acpkm_omac                1200
605  #define OBJ_magma_ctr_acpkm_omac                OBJ_id_tc26_cipher_gostr3412_2015_magma,2L
606  
607  #define SN_id_tc26_cipher_gostr3412_2015_kuznyechik             "id-tc26-cipher-gostr3412-2015-kuznyechik"
608 @@ -4263,11 +4263,11 @@
609  #define OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik            OBJ_id_tc26_cipher,2L
610  
611  #define SN_kuznyechik_ctr_acpkm         "kuznyechik-ctr-acpkm"
612 -#define NID_kuznyechik_ctr_acpkm                1177
613 +#define NID_kuznyechik_ctr_acpkm                1201
614  #define OBJ_kuznyechik_ctr_acpkm                OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik,1L
615  
616  #define SN_kuznyechik_ctr_acpkm_omac            "kuznyechik-ctr-acpkm-omac"
617 -#define NID_kuznyechik_ctr_acpkm_omac           1178
618 +#define NID_kuznyechik_ctr_acpkm_omac           1202
619  #define OBJ_kuznyechik_ctr_acpkm_omac           OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik,2L
620  
621  #define SN_id_tc26_agreement            "id-tc26-agreement"
622 @@ -4291,7 +4291,7 @@
623  #define OBJ_id_tc26_wrap_gostr3412_2015_magma           OBJ_id_tc26_wrap,1L
624  
625  #define SN_magma_kexp15         "magma-kexp15"
626 -#define NID_magma_kexp15                1181
627 +#define NID_magma_kexp15                1203
628  #define OBJ_magma_kexp15                OBJ_id_tc26_wrap_gostr3412_2015_magma,1L
629  
630  #define SN_id_tc26_wrap_gostr3412_2015_kuznyechik               "id-tc26-wrap-gostr3412-2015-kuznyechik"
631 @@ -4299,7 +4299,7 @@
632  #define OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik              OBJ_id_tc26_wrap,2L
633  
634  #define SN_kuznyechik_kexp15            "kuznyechik-kexp15"
635 -#define NID_kuznyechik_kexp15           1183
636 +#define NID_kuznyechik_kexp15           1204
637  #define OBJ_kuznyechik_kexp15           OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik,1L
638  
639  #define SN_id_tc26_constants            "id-tc26-constants"
640 @@ -4392,7 +4392,7 @@
641  
642  #define SN_OGRNIP               "OGRNIP"
643  #define LN_OGRNIP               "OGRNIP"
644 -#define NID_OGRNIP              1195
645 +#define NID_OGRNIP              1205
646  #define OBJ_OGRNIP              OBJ_member_body,643L,100L,5L
647  
648  #define SN_subjectSignTool              "subjectSignTool"
649 @@ -4407,59 +4407,59 @@
650  
651  #define SN_classSignTool                "classSignTool"
652  #define LN_classSignTool                "Class of Signing Tool"
653 -#define NID_classSignTool               1196
654 +#define NID_classSignTool               1206
655  #define OBJ_classSignTool               OBJ_member_body,643L,100L,113L
656  
657  #define SN_classSignToolKC1             "classSignToolKC1"
658  #define LN_classSignToolKC1             "Class of Signing Tool KC1"
659 -#define NID_classSignToolKC1            1197
660 +#define NID_classSignToolKC1            1207
661  #define OBJ_classSignToolKC1            OBJ_member_body,643L,100L,113L,1L
662  
663  #define SN_classSignToolKC2             "classSignToolKC2"
664  #define LN_classSignToolKC2             "Class of Signing Tool KC2"
665 -#define NID_classSignToolKC2            1198
666 +#define NID_classSignToolKC2            1208
667  #define OBJ_classSignToolKC2            OBJ_member_body,643L,100L,113L,2L
668  
669  #define SN_classSignToolKC3             "classSignToolKC3"
670  #define LN_classSignToolKC3             "Class of Signing Tool KC3"
671 -#define NID_classSignToolKC3            1199
672 +#define NID_classSignToolKC3            1209
673  #define OBJ_classSignToolKC3            OBJ_member_body,643L,100L,113L,3L
674  
675  #define SN_classSignToolKB1             "classSignToolKB1"
676  #define LN_classSignToolKB1             "Class of Signing Tool KB1"
677 -#define NID_classSignToolKB1            1200
678 +#define NID_classSignToolKB1            1210
679  #define OBJ_classSignToolKB1            OBJ_member_body,643L,100L,113L,4L
680  
681  #define SN_classSignToolKB2             "classSignToolKB2"
682  #define LN_classSignToolKB2             "Class of Signing Tool KB2"
683 -#define NID_classSignToolKB2            1201
684 +#define NID_classSignToolKB2            1211
685  #define OBJ_classSignToolKB2            OBJ_member_body,643L,100L,113L,5L
686  
687  #define SN_classSignToolKA1             "classSignToolKA1"
688  #define LN_classSignToolKA1             "Class of Signing Tool KA1"
689 -#define NID_classSignToolKA1            1202
690 +#define NID_classSignToolKA1            1212
691  #define OBJ_classSignToolKA1            OBJ_member_body,643L,100L,113L,6L
692  
693  #define SN_kuznyechik_ecb               "kuznyechik-ecb"
694 -#define NID_kuznyechik_ecb              1012
695 +#define NID_kuznyechik_ecb              1213
696  
697  #define SN_kuznyechik_ctr               "kuznyechik-ctr"
698 -#define NID_kuznyechik_ctr              1013
699 +#define NID_kuznyechik_ctr              1214
700  
701  #define SN_kuznyechik_ofb               "kuznyechik-ofb"
702 -#define NID_kuznyechik_ofb              1014
703 +#define NID_kuznyechik_ofb              1215
704  
705  #define SN_kuznyechik_cbc               "kuznyechik-cbc"
706 -#define NID_kuznyechik_cbc              1015
707 +#define NID_kuznyechik_cbc              1216
708  
709  #define SN_kuznyechik_cfb               "kuznyechik-cfb"
710 -#define NID_kuznyechik_cfb              1016
711 +#define NID_kuznyechik_cfb              1217
712  
713  #define SN_kuznyechik_mac               "kuznyechik-mac"
714 -#define NID_kuznyechik_mac              1017
715 +#define NID_kuznyechik_mac              1218
716  
717  #define SN_kuznyechik_mgm               "kuznyechik-mgm"
718 -#define NID_kuznyechik_mgm              1207
719 +#define NID_kuznyechik_mgm              1219
720  
721  #define SN_magma_ecb            "magma-ecb"
722  #define NID_magma_ecb           1187
723 @@ -4480,7 +4480,7 @@
724  #define NID_magma_mac           1192
725  
726  #define SN_magma_mgm            "magma-mgm"
727 -#define NID_magma_mgm           1208
728 +#define NID_magma_mgm           1220
729  
730  #define SN_camellia_128_cbc             "CAMELLIA-128-CBC"
731  #define LN_camellia_128_cbc             "camellia-128-cbc"