summaryrefslogtreecommitdiffstats
path: root/crypto/objects
diff options
context:
space:
mode:
authorDmitry Belyavsky <beldmit@gmail.com>2015-08-17 11:22:52 +0100
committerMatt Caswell <matt@openssl.org>2015-08-17 15:34:30 +0100
commit31001f813172f73e4a27300ef39fc45e2b372a38 (patch)
treebe4d88a7da006a1cd8477973ac08f0008259cc23 /crypto/objects
parentdfba17b4f3b2f87b50f2251a608d1911bfd202bc (diff)
Add new GOST OIDs
Add new OIDs for latest GOST updates Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
Diffstat (limited to 'crypto/objects')
-rw-r--r--crypto/objects/obj_dat.h216
-rw-r--r--crypto/objects/obj_mac.num35
-rw-r--r--crypto/objects/obj_xref.h6
-rw-r--r--crypto/objects/obj_xref.txt2
-rw-r--r--crypto/objects/objects.txt51
5 files changed, 305 insertions, 5 deletions
diff --git a/crypto/objects/obj_dat.h b/crypto/objects/obj_dat.h
index 1ccbced585..6210784d13 100644
--- a/crypto/objects/obj_dat.h
+++ b/crypto/objects/obj_dat.h
@@ -62,12 +62,12 @@
* [including the GNU Public Licence.]
*/
-#define NUM_NID 974
-#define NUM_SN 967
-#define NUM_LN 967
-#define NUM_OBJ 903
+#define NUM_NID 1009
+#define NUM_SN 1002
+#define NUM_LN 1002
+#define NUM_OBJ 936
-static const unsigned char lvalues[6364]={
+static const unsigned char lvalues[6604]={
0x2A,0x86,0x48,0x86,0xF7,0x0D, /* [ 0] OBJ_rsadsi */
0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01, /* [ 6] OBJ_pkcs */
0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x02, /* [ 13] OBJ_md2 */
@@ -965,6 +965,39 @@ static const unsigned char lvalues[6364]={
0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x31, /* [6338] OBJ_camellia_256_ctr */
0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x32, /* [6346] OBJ_camellia_256_cmac */
0x2B,0x06,0x01,0x04,0x01,0xDA,0x47,0x04,0x0B,/* [6354] OBJ_id_scrypt */
+0x2A,0x85,0x03,0x07,0x01, /* [6363] OBJ_id_tc26 */
+0x2A,0x85,0x03,0x07,0x01,0x01, /* [6368] OBJ_id_tc26_algorithms */
+0x2A,0x85,0x03,0x07,0x01,0x01,0x01, /* [6374] OBJ_id_tc26_sign */
+0x2A,0x85,0x03,0x07,0x01,0x01,0x01,0x01, /* [6381] OBJ_id_GostR3410_2012_256 */
+0x2A,0x85,0x03,0x07,0x01,0x01,0x01,0x02, /* [6389] OBJ_id_GostR3410_2012_512 */
+0x2A,0x85,0x03,0x07,0x01,0x01,0x02, /* [6397] OBJ_id_tc26_digest */
+0x2A,0x85,0x03,0x07,0x01,0x01,0x02,0x02, /* [6404] OBJ_id_GostR3411_2012_256 */
+0x2A,0x85,0x03,0x07,0x01,0x01,0x02,0x03, /* [6412] OBJ_id_GostR3411_2012_512 */
+0x2A,0x85,0x03,0x07,0x01,0x01,0x03, /* [6420] OBJ_id_tc26_signwithdigest */
+0x2A,0x85,0x03,0x07,0x01,0x01,0x03,0x02, /* [6427] OBJ_id_tc26_signwithdigest_gost3410_2012_256 */
+0x2A,0x85,0x03,0x07,0x01,0x01,0x03,0x03, /* [6435] OBJ_id_tc26_signwithdigest_gost3410_2012_512 */
+0x2A,0x85,0x03,0x07,0x01,0x01,0x04, /* [6443] OBJ_id_tc26_mac */
+0x2A,0x85,0x03,0x07,0x01,0x01,0x04,0x01, /* [6450] OBJ_id_tc26_hmac_gost_3411_2012_256 */
+0x2A,0x85,0x03,0x07,0x01,0x01,0x04,0x02, /* [6458] OBJ_id_tc26_hmac_gost_3411_2012_512 */
+0x2A,0x85,0x03,0x07,0x01,0x01,0x05, /* [6466] OBJ_id_tc26_cipher */
+0x2A,0x85,0x03,0x07,0x01,0x01,0x06, /* [6473] OBJ_id_tc26_agreement */
+0x2A,0x85,0x03,0x07,0x01,0x01,0x06,0x01, /* [6480] OBJ_id_tc26_agreement_gost_3410_2012_256 */
+0x2A,0x85,0x03,0x07,0x01,0x01,0x06,0x02, /* [6488] OBJ_id_tc26_agreement_gost_3410_2012_512 */
+0x2A,0x85,0x03,0x07,0x01,0x02, /* [6496] OBJ_id_tc26_constants */
+0x2A,0x85,0x03,0x07,0x01,0x02,0x01, /* [6502] OBJ_id_tc26_sign_constants */
+0x2A,0x85,0x03,0x07,0x01,0x02,0x01,0x02, /* [6509] OBJ_id_tc26_gost_3410_2012_512_constants */
+0x2A,0x85,0x03,0x07,0x01,0x02,0x01,0x02,0x00,/* [6517] OBJ_id_tc26_gost_3410_2012_512_paramSetTest */
+0x2A,0x85,0x03,0x07,0x01,0x02,0x01,0x02,0x01,/* [6526] OBJ_id_tc26_gost_3410_2012_512_paramSetA */
+0x2A,0x85,0x03,0x07,0x01,0x02,0x01,0x02,0x02,/* [6535] OBJ_id_tc26_gost_3410_2012_512_paramSetB */
+0x2A,0x85,0x03,0x07,0x01,0x02,0x02, /* [6544] OBJ_id_tc26_digest_constants */
+0x2A,0x85,0x03,0x07,0x01,0x02,0x05, /* [6551] OBJ_id_tc26_cipher_constants */
+0x2A,0x85,0x03,0x07,0x01,0x02,0x05,0x01, /* [6558] OBJ_id_tc26_gost_28147_constants */
+0x2A,0x85,0x03,0x07,0x01,0x02,0x05,0x01,0x01,/* [6566] OBJ_id_tc26_gost_28147_param_Z */
+0x2A,0x85,0x03,0x03,0x81,0x03,0x01,0x01, /* [6575] OBJ_INN */
+0x2A,0x85,0x03,0x64,0x01, /* [6583] OBJ_OGRN */
+0x2A,0x85,0x03,0x64,0x03, /* [6588] OBJ_SNILS */
+0x2A,0x85,0x03,0x64,0x6F, /* [6593] OBJ_subjectSignTool */
+0x2A,0x85,0x03,0x64,0x70, /* [6598] OBJ_issuerSignTool */
};
static const ASN1_OBJECT nid_objs[NUM_NID]={
@@ -2555,6 +2588,76 @@ static const ASN1_OBJECT nid_objs[NUM_NID]={
{"CAMELLIA-256-CMAC","camellia-256-cmac",NID_camellia_256_cmac,8,
&(lvalues[6346]),0},
{"id-scrypt","id-scrypt",NID_id_scrypt,9,&(lvalues[6354]),0},
+{"id-tc26","id-tc26",NID_id_tc26,5,&(lvalues[6363]),0},
+{"gost89-cnt-12","gost89-cnt-12",NID_gost89_cnt_12,0,NULL,0},
+{"gost-mac-12","gost-mac-12",NID_gost_mac_12,0,NULL,0},
+{"id-tc26-algorithms","id-tc26-algorithms",NID_id_tc26_algorithms,6,
+ &(lvalues[6368]),0},
+{"id-tc26-sign","id-tc26-sign",NID_id_tc26_sign,7,&(lvalues[6374]),0},
+{"gost2012_256","GOST R 34.10-2012 with 256 bit modulus",
+ NID_id_GostR3410_2012_256,8,&(lvalues[6381]),0},
+{"gost2012_512","GOST R 34.10-2012 with 512 bit modulus",
+ NID_id_GostR3410_2012_512,8,&(lvalues[6389]),0},
+{"id-tc26-digest","id-tc26-digest",NID_id_tc26_digest,7,
+ &(lvalues[6397]),0},
+{"md_gost12_256","GOST R 34.11-2012 with 256 bit hash",
+ NID_id_GostR3411_2012_256,8,&(lvalues[6404]),0},
+{"md_gost12_512","GOST R 34.11-2012 with 512 bit hash",
+ NID_id_GostR3411_2012_512,8,&(lvalues[6412]),0},
+{"id-tc26-signwithdigest","id-tc26-signwithdigest",
+ NID_id_tc26_signwithdigest,7,&(lvalues[6420]),0},
+{"id-tc26-signwithdigest-gost3410-2012-256",
+ "GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit)",
+ NID_id_tc26_signwithdigest_gost3410_2012_256,8,&(lvalues[6427]),0},
+{"id-tc26-signwithdigest-gost3410-2012-512",
+ "GOST R 34.10-2012 with GOST R 34.11-2012 (512 bit)",
+ NID_id_tc26_signwithdigest_gost3410_2012_512,8,&(lvalues[6435]),0},
+{"id-tc26-mac","id-tc26-mac",NID_id_tc26_mac,7,&(lvalues[6443]),0},
+{"id-tc26-hmac-gost-3411-2012-256","HMAC GOST 34.11-2012 256 bit",
+ NID_id_tc26_hmac_gost_3411_2012_256,8,&(lvalues[6450]),0},
+{"id-tc26-hmac-gost-3411-2012-512","HMAC GOST 34.11-2012 512 bit",
+ NID_id_tc26_hmac_gost_3411_2012_512,8,&(lvalues[6458]),0},
+{"id-tc26-cipher","id-tc26-cipher",NID_id_tc26_cipher,7,
+ &(lvalues[6466]),0},
+{"id-tc26-agreement","id-tc26-agreement",NID_id_tc26_agreement,7,
+ &(lvalues[6473]),0},
+{"id-tc26-agreement-gost-3410-2012-256",
+ "id-tc26-agreement-gost-3410-2012-256",
+ NID_id_tc26_agreement_gost_3410_2012_256,8,&(lvalues[6480]),0},
+{"id-tc26-agreement-gost-3410-2012-512",
+ "id-tc26-agreement-gost-3410-2012-512",
+ NID_id_tc26_agreement_gost_3410_2012_512,8,&(lvalues[6488]),0},
+{"id-tc26-constants","id-tc26-constants",NID_id_tc26_constants,6,
+ &(lvalues[6496]),0},
+{"id-tc26-sign-constants","id-tc26-sign-constants",
+ NID_id_tc26_sign_constants,7,&(lvalues[6502]),0},
+{"id-tc26-gost-3410-2012-512-constants",
+ "id-tc26-gost-3410-2012-512-constants",
+ NID_id_tc26_gost_3410_2012_512_constants,8,&(lvalues[6509]),0},
+{"id-tc26-gost-3410-2012-512-paramSetTest",
+ "GOST R 34.10-2012 (512 bit) testing parameter set",
+ NID_id_tc26_gost_3410_2012_512_paramSetTest,9,&(lvalues[6517]),0},
+{"id-tc26-gost-3410-2012-512-paramSetA",
+ "GOST R 34.10-2012 (512 bit) ParamSet A",
+ NID_id_tc26_gost_3410_2012_512_paramSetA,9,&(lvalues[6526]),0},
+{"id-tc26-gost-3410-2012-512-paramSetB",
+ "GOST R 34.10-2012 (512 bit) ParamSet B",
+ NID_id_tc26_gost_3410_2012_512_paramSetB,9,&(lvalues[6535]),0},
+{"id-tc26-digest-constants","id-tc26-digest-constants",
+ NID_id_tc26_digest_constants,7,&(lvalues[6544]),0},
+{"id-tc26-cipher-constants","id-tc26-cipher-constants",
+ NID_id_tc26_cipher_constants,7,&(lvalues[6551]),0},
+{"id-tc26-gost-28147-constants","id-tc26-gost-28147-constants",
+ NID_id_tc26_gost_28147_constants,8,&(lvalues[6558]),0},
+{"id-tc26-gost-28147-param-Z","GOST 28147-89 TC26 parameter set",
+ NID_id_tc26_gost_28147_param_Z,9,&(lvalues[6566]),0},
+{"INN","INN",NID_INN,8,&(lvalues[6575]),0},
+{"OGRN","OGRN",NID_OGRN,5,&(lvalues[6583]),0},
+{"SNILS","SNILS",NID_SNILS,5,&(lvalues[6588]),0},
+{"subjectSignTool","Signing Tool of Subject",NID_subjectSignTool,5,
+ &(lvalues[6593]),0},
+{"issuerSignTool","Signing Tool of Issuer",NID_issuerSignTool,5,
+ &(lvalues[6598]),0},
};
static const unsigned int sn_objs[NUM_SN]={
@@ -2670,6 +2773,7 @@ static const unsigned int sn_objs[NUM_SN]={
35, /* "IDEA-CFB" */
36, /* "IDEA-ECB" */
46, /* "IDEA-OFB" */
+1004, /* "INN" */
181, /* "ISO" */
183, /* "ISO-US" */
645, /* "ITU-T" */
@@ -2691,6 +2795,7 @@ static const unsigned int sn_objs[NUM_SN]={
17, /* "O" */
178, /* "OCSP" */
180, /* "OCSPSigning" */
+1005, /* "OGRN" */
379, /* "ORG" */
18, /* "OU" */
749, /* "Oakley-EC2N-3" */
@@ -2755,6 +2860,7 @@ static const unsigned int sn_objs[NUM_SN]={
188, /* "SMIME" */
167, /* "SMIME-CAPS" */
100, /* "SN" */
+1006, /* "SNILS" */
16, /* "ST" */
143, /* "SXNetID" */
458, /* "UID" */
@@ -2913,10 +3019,14 @@ static const unsigned int sn_objs[NUM_SN]={
156, /* "friendlyName" */
509, /* "generationQualifier" */
815, /* "gost-mac" */
+976, /* "gost-mac-12" */
811, /* "gost2001" */
851, /* "gost2001cc" */
+979, /* "gost2012_256" */
+980, /* "gost2012_512" */
813, /* "gost89" */
814, /* "gost89-cnt" */
+975, /* "gost89-cnt-12" */
812, /* "gost94" */
850, /* "gost94cc" */
797, /* "hmacWithMD5" */
@@ -3171,6 +3281,30 @@ static const unsigned int sn_objs[NUM_SN]={
194, /* "id-smime-spq" */
250, /* "id-smime-spq-ets-sqt-unotice" */
249, /* "id-smime-spq-ets-sqt-uri" */
+974, /* "id-tc26" */
+991, /* "id-tc26-agreement" */
+992, /* "id-tc26-agreement-gost-3410-2012-256" */
+993, /* "id-tc26-agreement-gost-3410-2012-512" */
+977, /* "id-tc26-algorithms" */
+990, /* "id-tc26-cipher" */
+1001, /* "id-tc26-cipher-constants" */
+994, /* "id-tc26-constants" */
+981, /* "id-tc26-digest" */
+1000, /* "id-tc26-digest-constants" */
+1002, /* "id-tc26-gost-28147-constants" */
+1003, /* "id-tc26-gost-28147-param-Z" */
+996, /* "id-tc26-gost-3410-2012-512-constants" */
+998, /* "id-tc26-gost-3410-2012-512-paramSetA" */
+999, /* "id-tc26-gost-3410-2012-512-paramSetB" */
+997, /* "id-tc26-gost-3410-2012-512-paramSetTest" */
+988, /* "id-tc26-hmac-gost-3411-2012-256" */
+989, /* "id-tc26-hmac-gost-3411-2012-512" */
+987, /* "id-tc26-mac" */
+978, /* "id-tc26-sign" */
+995, /* "id-tc26-sign-constants" */
+984, /* "id-tc26-signwithdigest" */
+985, /* "id-tc26-signwithdigest-gost3410-2012-256" */
+986, /* "id-tc26-signwithdigest-gost3410-2012-512" */
676, /* "identified-organization" */
461, /* "info" */
748, /* "inhibitAnyPolicy" */
@@ -3182,6 +3316,7 @@ static const unsigned int sn_objs[NUM_SN]={
295, /* "ipsecTunnel" */
296, /* "ipsecUser" */
86, /* "issuerAltName" */
+1008, /* "issuerSignTool" */
770, /* "issuingDistributionPoint" */
492, /* "janetMailbox" */
957, /* "jurisdictionC" */
@@ -3196,6 +3331,8 @@ static const unsigned int sn_objs[NUM_SN]={
460, /* "mail" */
493, /* "mailPreferenceOption" */
467, /* "manager" */
+982, /* "md_gost12_256" */
+983, /* "md_gost12_512" */
809, /* "md_gost94" */
875, /* "member" */
182, /* "member-body" */
@@ -3484,6 +3621,7 @@ static const unsigned int sn_objs[NUM_SN]={
769, /* "subjectDirectoryAttributes" */
398, /* "subjectInfoAccess" */
82, /* "subjectKeyIdentifier" */
+1007, /* "subjectSignTool" */
498, /* "subtreeMaximumQuality" */
497, /* "subtreeMinimumQuality" */
890, /* "supportedAlgorithms" */
@@ -3554,12 +3692,22 @@ static const unsigned int ln_objs[NUM_LN]={
813, /* "GOST 28147-89" */
849, /* "GOST 28147-89 Cryptocom ParamSet" */
815, /* "GOST 28147-89 MAC" */
+1003, /* "GOST 28147-89 TC26 parameter set" */
851, /* "GOST 34.10-2001 Cryptocom" */
850, /* "GOST 34.10-94 Cryptocom" */
811, /* "GOST R 34.10-2001" */
817, /* "GOST R 34.10-2001 DH" */
+998, /* "GOST R 34.10-2012 (512 bit) ParamSet A" */
+999, /* "GOST R 34.10-2012 (512 bit) ParamSet B" */
+997, /* "GOST R 34.10-2012 (512 bit) testing parameter set" */
+979, /* "GOST R 34.10-2012 with 256 bit modulus" */
+980, /* "GOST R 34.10-2012 with 512 bit modulus" */
+985, /* "GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit)" */
+986, /* "GOST R 34.10-2012 with GOST R 34.11-2012 (512 bit)" */
812, /* "GOST R 34.10-94" */
818, /* "GOST R 34.10-94 DH" */
+982, /* "GOST R 34.11-2012 with 256 bit hash" */
+983, /* "GOST R 34.11-2012 with 512 bit hash" */
809, /* "GOST R 34.11-94" */
816, /* "GOST R 34.11-94 PRF" */
807, /* "GOST R 34.11-94 with GOST R 34.10-2001" */
@@ -3567,12 +3715,15 @@ static const unsigned int ln_objs[NUM_LN]={
808, /* "GOST R 34.11-94 with GOST R 34.10-94" */
852, /* "GOST R 34.11-94 with GOST R 34.10-94 Cryptocom" */
854, /* "GOST R 3410-2001 Parameter Set Cryptocom" */
+988, /* "HMAC GOST 34.11-2012 256 bit" */
+989, /* "HMAC GOST 34.11-2012 512 bit" */
810, /* "HMAC GOST 34.11-94" */
432, /* "Hold Instruction Call Issuer" */
430, /* "Hold Instruction Code" */
431, /* "Hold Instruction None" */
433, /* "Hold Instruction Reject" */
634, /* "ICC or token signature" */
+1004, /* "INN" */
294, /* "IPSec End System" */
295, /* "IPSec Tunnel" */
296, /* "IPSec User" */
@@ -3617,6 +3768,7 @@ static const unsigned int ln_objs[NUM_LN]={
366, /* "OCSP Nonce" */
371, /* "OCSP Service Locator" */
180, /* "OCSP Signing" */
+1005, /* "OGRN" */
161, /* "PBES2" */
69, /* "PBKDF2" */
162, /* "PBMAC1" */
@@ -3630,10 +3782,13 @@ static const unsigned int ln_objs[NUM_LN]={
2, /* "RSA Data Security, Inc. PKCS" */
188, /* "S/MIME" */
167, /* "S/MIME Capabilities" */
+1006, /* "SNILS" */
387, /* "SNMPv2" */
512, /* "Secure Electronic Transactions" */
386, /* "Security" */
394, /* "Selected Attribute Types" */
+1008, /* "Signing Tool of Issuer" */
+1007, /* "Signing Tool of Subject" */
143, /* "Strong Extranet ID" */
398, /* "Subject Information Access" */
130, /* "TLS Web Client Authentication" */
@@ -3897,7 +4052,9 @@ static const unsigned int ln_objs[NUM_LN]={
509, /* "generationQualifier" */
601, /* "generic cryptogram" */
99, /* "givenName" */
+976, /* "gost-mac-12" */
814, /* "gost89-cnt" */
+975, /* "gost89-cnt-12" */
855, /* "hmac" */
780, /* "hmac-md5" */
781, /* "hmac-sha1" */
@@ -4126,6 +4283,22 @@ static const unsigned int ln_objs[NUM_LN]={
194, /* "id-smime-spq" */
250, /* "id-smime-spq-ets-sqt-unotice" */
249, /* "id-smime-spq-ets-sqt-uri" */
+974, /* "id-tc26" */
+991, /* "id-tc26-agreement" */
+992, /* "id-tc26-agreement-gost-3410-2012-256" */
+993, /* "id-tc26-agreement-gost-3410-2012-512" */
+977, /* "id-tc26-algorithms" */
+990, /* "id-tc26-cipher" */
+1001, /* "id-tc26-cipher-constants" */
+994, /* "id-tc26-constants" */
+981, /* "id-tc26-digest" */
+1000, /* "id-tc26-digest-constants" */
+1002, /* "id-tc26-gost-28147-constants" */
+996, /* "id-tc26-gost-3410-2012-512-constants" */
+987, /* "id-tc26-mac" */
+978, /* "id-tc26-sign" */
+995, /* "id-tc26-sign-constants" */
+984, /* "id-tc26-signwithdigest" */
34, /* "idea-cbc" */
35, /* "idea-cfb" */
36, /* "idea-ecb" */
@@ -4734,6 +4907,11 @@ static const unsigned int obj_objs[NUM_OBJ]={
639, /* OBJ_set_brand_JCB 2 23 42 8 35 */
805, /* OBJ_cryptopro 1 2 643 2 2 */
806, /* OBJ_cryptocom 1 2 643 2 9 */
+974, /* OBJ_id_tc26 1 2 643 7 1 */
+1005, /* OBJ_OGRN 1 2 643 100 1 */
+1006, /* OBJ_SNILS 1 2 643 100 3 */
+1007, /* OBJ_subjectSignTool 1 2 643 100 111 */
+1008, /* OBJ_issuerSignTool 1 2 643 100 112 */
184, /* OBJ_X9_57 1 2 840 10040 */
405, /* OBJ_ansi_X9_62 1 2 840 10045 */
389, /* OBJ_Enterprises 1 3 6 1 4 1 */
@@ -4817,6 +4995,8 @@ static const unsigned int obj_objs[NUM_OBJ]={
816, /* OBJ_id_GostR3411_94_prf 1 2 643 2 2 23 */
817, /* OBJ_id_GostR3410_2001DH 1 2 643 2 2 98 */
818, /* OBJ_id_GostR3410_94DH 1 2 643 2 2 99 */
+977, /* OBJ_id_tc26_algorithms 1 2 643 7 1 1 */
+994, /* OBJ_id_tc26_constants 1 2 643 7 1 2 */
1, /* OBJ_rsadsi 1 2 840 113549 */
185, /* OBJ_X9cm 1 2 840 10040 4 */
127, /* OBJ_id_pkix 1 3 6 1 5 5 7 */
@@ -4867,6 +5047,15 @@ static const unsigned int obj_objs[NUM_OBJ]={
842, /* OBJ_id_GostR3410_2001_CryptoPro_C_ParamSet 1 2 643 2 2 35 3 */
843, /* OBJ_id_GostR3410_2001_CryptoPro_XchA_ParamSet 1 2 643 2 2 36 0 */
844, /* OBJ_id_GostR3410_2001_CryptoPro_XchB_ParamSet 1 2 643 2 2 36 1 */
+978, /* OBJ_id_tc26_sign 1 2 643 7 1 1 1 */
+981, /* OBJ_id_tc26_digest 1 2 643 7 1 1 2 */
+984, /* OBJ_id_tc26_signwithdigest 1 2 643 7 1 1 3 */
+987, /* OBJ_id_tc26_mac 1 2 643 7 1 1 4 */
+990, /* OBJ_id_tc26_cipher 1 2 643 7 1 1 5 */
+991, /* OBJ_id_tc26_agreement 1 2 643 7 1 1 6 */
+995, /* OBJ_id_tc26_sign_constants 1 2 643 7 1 2 1 */
+1000, /* OBJ_id_tc26_digest_constants 1 2 643 7 1 2 2 */
+1001, /* OBJ_id_tc26_cipher_constants 1 2 643 7 1 2 5 */
2, /* OBJ_pkcs 1 2 840 113549 1 */
431, /* OBJ_hold_instruction_none 1 2 840 10040 2 1 */
432, /* OBJ_hold_instruction_call_issuer 1 2 840 10040 2 2 */
@@ -4930,6 +5119,19 @@ static const unsigned int obj_objs[NUM_OBJ]={
851, /* OBJ_id_GostR3410_2001_cc 1 2 643 2 9 1 5 4 */
849, /* OBJ_id_Gost28147_89_cc 1 2 643 2 9 1 6 1 */
854, /* OBJ_id_GostR3410_2001_ParamSet_cc 1 2 643 2 9 1 8 1 */
+1004, /* OBJ_INN 1 2 643 3 131 1 1 */
+979, /* OBJ_id_GostR3410_2012_256 1 2 643 7 1 1 1 1 */
+980, /* OBJ_id_GostR3410_2012_512 1 2 643 7 1 1 1 2 */
+982, /* OBJ_id_GostR3411_2012_256 1 2 643 7 1 1 2 2 */
+983, /* OBJ_id_GostR3411_2012_512 1 2 643 7 1 1 2 3 */
+985, /* OBJ_id_tc26_signwithdigest_gost3410_2012_256 1 2 643 7 1 1 3 2 */
+986, /* OBJ_id_tc26_signwithdigest_gost3410_2012_512 1 2 643 7 1 1 3 3 */
+988, /* OBJ_id_tc26_hmac_gost_3411_2012_256 1 2 643 7 1 1 4 1 */
+989, /* OBJ_id_tc26_hmac_gost_3411_2012_512 1 2 643 7 1 1 4 2 */
+992, /* OBJ_id_tc26_agreement_gost_3410_2012_256 1 2 643 7 1 1 6 1 */
+993, /* OBJ_id_tc26_agreement_gost_3410_2012_512 1 2 643 7 1 1 6 2 */
+996, /* OBJ_id_tc26_gost_3410_2012_512_constants 1 2 643 7 1 2 1 2 */
+1002, /* OBJ_id_tc26_gost_28147_constants 1 2 643 7 1 2 5 1 */
186, /* OBJ_pkcs1 1 2 840 113549 1 1 */
27, /* OBJ_pkcs3 1 2 840 113549 1 3 */
187, /* OBJ_pkcs5 1 2 840 113549 1 5 */
@@ -5097,6 +5299,10 @@ static const unsigned int obj_objs[NUM_OBJ]={
439, /* OBJ_pilotAttributeSyntax 0 9 2342 19200300 100 3 */
440, /* OBJ_pilotObjectClass 0 9 2342 19200300 100 4 */
441, /* OBJ_pilotGroups 0 9 2342 19200300 100 10 */
+997, /* OBJ_id_tc26_gost_3410_2012_512_paramSetTest 1 2 643 7 1 2 1 2 0 */
+998, /* OBJ_id_tc26_gost_3410_2012_512_paramSetA 1 2 643 7 1 2 1 2 1 */
+999, /* OBJ_id_tc26_gost_3410_2012_512_paramSetB 1 2 643 7 1 2 1 2 2 */
+1003, /* OBJ_id_tc26_gost_28147_param_Z 1 2 643 7 1 2 5 1 1 */
108, /* OBJ_cast5_cbc 1 2 840 113533 7 66 10 */
112, /* OBJ_pbeWithMD5AndCast5_CBC 1 2 840 113533 7 66 12 */
782, /* OBJ_id_PasswordBasedMAC 1 2 840 113533 7 66 13 */
diff --git a/crypto/objects/obj_mac.num b/crypto/objects/obj_mac.num
index af57c68451..e813b62f1c 100644
--- a/crypto/objects/obj_mac.num
+++ b/crypto/objects/obj_mac.num
@@ -971,3 +971,38 @@ camellia_256_ccm 970
camellia_256_ctr 971
camellia_256_cmac 972
id_scrypt 973
+id_tc26 974
+gost89_cnt_12 975
+gost_mac_12 976
+id_tc26_algorithms 977
+id_tc26_sign 978
+id_GostR3410_2012_256 979
+id_GostR3410_2012_512 980
+id_tc26_digest 981
+id_GostR3411_2012_256 982
+id_GostR3411_2012_512 983
+id_tc26_signwithdigest 984
+id_tc26_signwithdigest_gost3410_2012_256 985
+id_tc26_signwithdigest_gost3410_2012_512 986
+id_tc26_mac 987
+id_tc26_hmac_gost_3411_2012_256 988
+id_tc26_hmac_gost_3411_2012_512 989
+id_tc26_cipher 990
+id_tc26_agreement 991
+id_tc26_agreement_gost_3410_2012_256 992
+id_tc26_agreement_gost_3410_2012_512 993
+id_tc26_constants 994
+id_tc26_sign_constants 995
+id_tc26_gost_3410_2012_512_constants 996
+id_tc26_gost_3410_2012_512_paramSetTest 997
+id_tc26_gost_3410_2012_512_paramSetA 998
+id_tc26_gost_3410_2012_512_paramSetB 999
+id_tc26_digest_constants 1000
+id_tc26_cipher_constants 1001
+id_tc26_gost_28147_constants 1002
+id_tc26_gost_28147_param_Z 1003
+INN 1004
+OGRN 1005
+SNILS 1006
+subjectSignTool 1007
+issuerSignTool 1008
diff --git a/crypto/objects/obj_xref.h b/crypto/objects/obj_xref.h
index e453e99f83..c07adee4f2 100644
--- a/crypto/objects/obj_xref.h
+++ b/crypto/objects/obj_xref.h
@@ -56,6 +56,10 @@ static const nid_triple sigoid_srt[] = {
NID_dh_cofactor_kdf},
{NID_dhSinglePass_cofactorDH_sha512kdf_scheme, NID_sha512,
NID_dh_cofactor_kdf},
+ {NID_id_tc26_signwithdigest_gost3410_2012_256, NID_id_GostR3411_2012_256,
+ NID_id_GostR3410_2012_256},
+ {NID_id_tc26_signwithdigest_gost3410_2012_512, NID_id_GostR3411_2012_512,
+ NID_id_GostR3410_2012_512},
};
static const nid_triple *const sigoid_srt_xref[] = {
@@ -96,4 +100,6 @@ static const nid_triple *const sigoid_srt_xref[] = {
&sigoid_srt[26],
&sigoid_srt[27],
&sigoid_srt[28],
+ &sigoid_srt[40],
+ &sigoid_srt[41],
};
diff --git a/crypto/objects/obj_xref.txt b/crypto/objects/obj_xref.txt
index 19c94226b2..981103b36d 100644
--- a/crypto/objects/obj_xref.txt
+++ b/crypto/objects/obj_xref.txt
@@ -44,6 +44,8 @@ id_GostR3411_94_with_GostR3410_2001 id_GostR3411_94 id_GostR3410_2001
id_GostR3411_94_with_GostR3410_94 id_GostR3411_94 id_GostR3410_94
id_GostR3411_94_with_GostR3410_94_cc id_GostR3411_94 id_GostR3410_94_cc
id_GostR3411_94_with_GostR3410_2001_cc id_GostR3411_94 id_GostR3410_2001_cc
+id_tc26_signwithdigest_gost3410_2012_256 id_GostR3411_2012_256 id_GostR3410_2012_256
+id_tc26_signwithdigest_gost3410_2012_512 id_GostR3411_2012_512 id_GostR3410_2012_512
# ECDH KDFs and their corresponding message digests and schemes
dhSinglePass_stdDH_sha1kdf_scheme sha1 dh_std_kdf
dhSinglePass_stdDH_sha224kdf_scheme sha224 dh_std_kdf
diff --git a/crypto/objects/objects.txt b/crypto/objects/objects.txt
index 655f40514b..06928c6c6a 100644
--- a/crypto/objects/objects.txt
+++ b/crypto/objects/objects.txt
@@ -1156,6 +1156,7 @@ iso 0 10118 3 0 55 : whirlpool
member-body 643 2 2 : cryptopro
member-body 643 2 9 : cryptocom
+member-body 643 7 1 : id-tc26
cryptopro 3 : id-GostR3411-94-with-GostR3410-2001 : GOST R 34.11-94 with GOST R 34.10-2001
cryptopro 4 : id-GostR3411-94-with-GostR3410-94 : GOST R 34.11-94 with GOST R 34.10-94
@@ -1169,8 +1170,10 @@ cryptopro 20 : gost94 : GOST R 34.10-94
!Cname id-Gost28147-89
cryptopro 21 : gost89 : GOST 28147-89
: gost89-cnt
+ : gost89-cnt-12
!Cname id-Gost28147-89-MAC
cryptopro 22 : gost-mac : GOST 28147-89 MAC
+ : gost-mac-12
!Cname id-GostR3411-94-prf
cryptopro 23 : prf-gostr3411-94 : GOST R 34.11-94 PRF
cryptopro 98 : id-GostR3410-2001DH : GOST R 34.10-2001 DH
@@ -1229,6 +1232,54 @@ cryptocom 1 3 4 : id-GostR3411-94-with-GostR3410-2001-cc : GOST R 34.11-94 with
cryptocom 1 8 1 : id-GostR3410-2001-ParamSet-cc : GOST R 3410-2001 Parameter Set Cryptocom
+# TC26 GOST OIDs
+
+id-tc26 1 : id-tc26-algorithms
+id-tc26-algorithms 1 : id-tc26-sign
+!Cname id-GostR3410-2012-256
+id-tc26-sign 1 : gost2012_256: GOST R 34.10-2012 with 256 bit modulus
+!Cname id-GostR3410-2012-512
+id-tc26-sign 2 : gost2012_512: GOST R 34.10-2012 with 512 bit modulus
+
+id-tc26-algorithms 2 : id-tc26-digest
+!Cname id-GostR3411-2012-256
+id-tc26-digest 2 : md_gost12_256: GOST R 34.11-2012 with 256 bit hash
+!Cname id-GostR3411-2012-512
+id-tc26-digest 3 : md_gost12_512: GOST R 34.11-2012 with 512 bit hash
+
+id-tc26-algorithms 3 : id-tc26-signwithdigest
+id-tc26-signwithdigest 2: id-tc26-signwithdigest-gost3410-2012-256: GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit)
+id-tc26-signwithdigest 3: id-tc26-signwithdigest-gost3410-2012-512: GOST R 34.10-2012 with GOST R 34.11-2012 (512 bit)
+
+id-tc26-algorithms 4 : id-tc26-mac
+id-tc26-mac 1 : id-tc26-hmac-gost-3411-2012-256 : HMAC GOST 34.11-2012 256 bit
+id-tc26-mac 2 : id-tc26-hmac-gost-3411-2012-512 : HMAC GOST 34.11-2012 512 bit
+
+id-tc26-algorithms 5 : id-tc26-cipher
+
+id-tc26-algorithms 6 : id-tc26-agreement
+id-tc26-agreement 1 : id-tc26-agreement-gost-3410-2012-256
+id-tc26-agreement 2 : id-tc26-agreement-gost-3410-2012-512
+
+id-tc26 2 : id-tc26-constants
+
+id-tc26-constants 1 : id-tc26-sign-constants
+id-tc26-sign-constants 2: id-tc26-gost-3410-2012-512-constants
+id-tc26-gost-3410-2012-512-constants 0 : id-tc26-gost-3410-2012-512-paramSetTest: GOST R 34.10-2012 (512 bit) testing parameter set
+id-tc26-gost-3410-2012-512-constants 1 : id-tc26-gost-3410-2012-512-paramSetA: GOST R 34.10-2012 (512 bit) ParamSet A
+id-tc26-gost-3410-2012-512-constants 2 : id-tc26-gost-3410-2012-512-paramSetB: GOST R 34.10-2012 (512 bit) ParamSet B
+
+id-tc26-constants 2 : id-tc26-digest-constants
+id-tc26-constants 5 : id-tc26-cipher-constants
+id-tc26-cipher-constants 1 : id-tc26-gost-28147-constants
+id-tc26-gost-28147-constants 1 : id-tc26-gost-28147-param-Z : GOST 28147-89 TC26 parameter set
+
+member-body 643 3 131 1 1 : INN : INN
+member-body 643 100 1 : OGRN : OGRN
+member-body 643 100 3 : SNILS : SNILS
+member-body 643 100 111 : subjectSignTool : Signing Tool of Subject
+member-body 643 100 112 : issuerSignTool : Signing Tool of Issuer
+
# Definitions for Camellia cipher - CBC MODE
1 2 392 200011 61 1 1 1 2 : CAMELLIA-128-CBC : camellia-128-cbc