diff options
author | Dmitry Timoshkov <dmitry@baikal.ru> | 2020-11-27 17:19:59 +0300 |
---|---|---|
committer | Dmitry Belyavskiy <beldmit@users.noreply.github.com> | 2020-11-28 19:45:06 +0300 |
commit | e1afd2a137a0a4cab89260202fdc1828263d098d (patch) | |
tree | e1f58b96dad76fe73ada8bd364fd5955689492f0 /gost_pmeth.c | |
parent | 624ddcf67b15d1c5c98b9e9ccd2f66cf7908ecc4 (diff) | |
download | gost-engine-e1afd2a137a0a4cab89260202fdc1828263d098d.zip gost-engine-e1afd2a137a0a4cab89260202fdc1828263d098d.tar.gz gost-engine-e1afd2a137a0a4cab89260202fdc1828263d098d.tar.bz2 |
Add explicit support for NID_id_GostR3410_2001DH (GOST R 34.10-2001 DH)
Diffstat (limited to 'gost_pmeth.c')
-rw-r--r-- | gost_pmeth.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gost_pmeth.c b/gost_pmeth.c index 9c1d602..b83d88d 100644 --- a/gost_pmeth.c +++ b/gost_pmeth.c @@ -39,6 +39,7 @@ static int pkey_gost_init(EVP_PKEY_CTX *ctx) if (pkey && EVP_PKEY_get0(pkey)) { switch (EVP_PKEY_base_id(pkey)) { case NID_id_GostR3410_2001: + case NID_id_GostR3410_2001DH: case NID_id_GostR3410_2012_256: case NID_id_GostR3410_2012_512: { @@ -104,6 +105,7 @@ static int pkey_gost_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2) switch (EVP_MD_type((const EVP_MD *)p2)) { case NID_id_GostR3411_94: if (pkey_nid == NID_id_GostR3410_2001 + || pkey_nid == NID_id_GostR3410_2001DH || pkey_nid == NID_id_GostR3410_94) { pctx->md = (EVP_MD *)p2; return 1; @@ -492,6 +494,7 @@ static int pkey_gost_ec_cp_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, switch (EVP_PKEY_base_id(pkey)) { case NID_id_GostR3410_2001: + case NID_id_GostR3410_2001DH: case NID_id_GostR3410_2012_256: order = 64; break; @@ -1049,6 +1052,7 @@ int register_pmeth_gost(int id, EVP_PKEY_METHOD **pmeth, int flags) switch (id) { case NID_id_GostR3410_2001: + case NID_id_GostR3410_2001DH: EVP_PKEY_meth_set_ctrl(*pmeth, pkey_gost_ctrl, pkey_gost_ec_ctrl_str_256); EVP_PKEY_meth_set_sign(*pmeth, NULL, pkey_gost_ec_cp_sign); |