const int** nids, int nid);
static EVP_PKEY_METHOD* pmeth_GostR3410_2001 = NULL,
+ * pmeth_GostR3410_2001DH = NULL,
* pmeth_GostR3410_2012_256 = NULL,
* pmeth_GostR3410_2012_512 = NULL,
* pmeth_Gost28147_MAC = NULL, * pmeth_Gost28147_MAC_12 = NULL,
* pmeth_magma_mac_acpkm = NULL, * pmeth_grasshopper_mac_acpkm = NULL;
static EVP_PKEY_ASN1_METHOD* ameth_GostR3410_2001 = NULL,
+ * ameth_GostR3410_2001DH = NULL,
* ameth_GostR3410_2012_256 = NULL,
* ameth_GostR3410_2012_512 = NULL,
* ameth_Gost28147_MAC = NULL, * ameth_Gost28147_MAC_12 = NULL,
&grasshopper_cfb_cipher,
&grasshopper_ofb_cipher,
&grasshopper_ctr_cipher,
+ &grasshopper_mgm_cipher,
&magma_cbc_cipher,
&magma_ctr_cipher,
&magma_ctr_acpkm_cipher,
&magma_ctr_acpkm_omac_cipher,
+ &magma_mgm_cipher,
&grasshopper_ctr_acpkm_cipher,
&grasshopper_ctr_acpkm_omac_cipher,
&magma_kexp15_cipher,
"GOST2001",
"GOST R 34.10-2001",
},
+ {
+ NID_id_GostR3410_2001DH,
+ &pmeth_GostR3410_2001DH,
+ &ameth_GostR3410_2001DH,
+ "GOST2001 DH",
+ "GOST R 34.10-2001 DH",
+ },
{
NID_id_Gost28147_89_MAC,
&pmeth_Gost28147_MAC,
int i;
for (i = 0; i < OSSL_NELEM(gost_digest_array); i++)
- GOST_deinit_digest(gost_digest_array[i]);
+ GOST_deinit_digest(gost_digest_array[i]);
for (i = 0; i < OSSL_NELEM(gost_cipher_array); i++)
- GOST_deinit_cipher(gost_cipher_array[i]);
+ GOST_deinit_cipher(gost_cipher_array[i]);
gost_param_free();
int i;
for (i = 0; i < OSSL_NELEM(gost_cipher_array); i++) {
- if (!EVP_add_cipher(GOST_init_cipher(gost_cipher_array[i])))
+ if (!EVP_add_cipher(GOST_init_cipher(gost_cipher_array[i])))
goto end;
}
for (i = 0; i < OSSL_NELEM(gost_digest_array); i++) {
- if (!EVP_add_digest(GOST_init_digest(gost_digest_array[i])))
+ if (!EVP_add_digest(GOST_init_digest(gost_digest_array[i])))
goto end;
}
for (i = 0; i < OSSL_NELEM(gost_digest_array); i++)
if (nid == gost_digest_array[i]->nid) {
- *digest = GOST_init_digest(gost_digest_array[i]);
- return 1;
+ *digest = GOST_init_digest(gost_digest_array[i]);
+ return 1;
}
*digest = NULL;
return 0;
for (i = 0; i < OSSL_NELEM(gost_cipher_array); i++)
if (nid == gost_cipher_array[i]->nid) {
- *cipher = GOST_init_cipher(gost_cipher_array[i]);
- return 1;
+ *cipher = GOST_init_cipher(gost_cipher_array[i]);
+ return 1;
}
*cipher = NULL;
return 0;