static const char* engine_gost_name =
"Reference implementation of GOST engine";
+const ENGINE_CMD_DEFN gost_cmds[] = {
+ {GOST_CTRL_CRYPT_PARAMS,
+ "CRYPT_PARAMS",
+ "OID of default GOST 28147-89 parameters",
+ ENGINE_CMD_FLAG_STRING},
+ {GOST_CTRL_PBE_PARAMS,
+ "PBE_PARAMS",
+ "Shortname of default digest alg for PBE",
+ ENGINE_CMD_FLAG_STRING},
+ {GOST_CTRL_PK_FORMAT,
+ "GOST_PK_FORMAT",
+ "Private key format params",
+ ENGINE_CMD_FLAG_STRING},
+ {0, NULL, NULL, 0}
+};
+
/* Symmetric cipher and digest function registrar */
static int gost_ciphers(ENGINE* e, const EVP_CIPHER** cipher,
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,
"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,