+ if (!gost_define_nids()) {
+ return 0;
+ }
+ /* Set up nids which might be undefined in the core object database */
+ /* Arrays of algoritmhs */
+ gost_cipher_nids[1]=NID_gost89_cnt;
+ gost_cipher_nids[2]=NID_gost89_cnt_12;
+ gost_cipher_nids[3]=NID_gost89_cbc;
+ gost_digest_nids[2]=NID_md_gost12_256;
+ gost_digest_nids[3]=NID_md_gost12_512;
+ gost_digest_nids[4]=NID_gost_mac_12;
+ gost_pkey_meth_nids[2]=NID_gost2012_256;
+ gost_pkey_meth_nids[3]=NID_gost2012_512;
+ /* EVP_CIPHERs */
+ cipher_gost_cbc.nid = NID_gost89_cbc;
+ cipher_gost_cpcnt_12.nid = NID_gost89_cnt_12;
+ /* EVP_MDs */
+ digest_gost2012_512.type = NID_md_gost12_512;
+ digest_gost2012_256.type = NID_md_gost12_256;
+ imit_gost_cp_12.type = NID_gost_mac_12;
+ /* Algorithm parameters */
+ R3410_2012_512_paramset[0].nid = NID_id_tc26_gost_3410_2012_512_paramSetA;
+ R3410_2012_512_paramset[1].nid = NID_id_tc26_gost_3410_2012_512_paramSetB;
+