X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;f=gost_pmeth.c;h=b2e0a4956a545a79a3f0df031017c7c68d3cb724;hb=d370b91c2fa5a5e81ce7a3ab710349f14dd9ed9e;hp=ddbe1433ca6571f58e5853816e4edfea54d6e1f3;hpb=cd7f9c8e3c396cff87e1393df835c5f5f9fb661f;p=openssl-gost%2Fengine.git diff --git a/gost_pmeth.c b/gost_pmeth.c index ddbe143..b2e0a49 100644 --- a/gost_pmeth.c +++ b/gost_pmeth.c @@ -448,9 +448,9 @@ static int pkey_gost_ec_cp_verify(EVP_PKEY_CTX *ctx, const unsigned char *sig, return 0; #ifdef DEBUG_SIGN fprintf(stderr, "R="); - BN_print_fp(stderr, s->r); + BN_print_fp(stderr, ECDSA_SIG_get0_r(s)); fprintf(stderr, "\nS="); - BN_print_fp(stderr, s->s); + BN_print_fp(stderr, ECDSA_SIG_get0_s(s)); fprintf(stderr, "\n"); #endif if (pub_key) @@ -521,12 +521,12 @@ static int pkey_gost_omac_init(EVP_PKEY_CTX *ctx, size_t mac_size) static int pkey_gost_magma_mac_init(EVP_PKEY_CTX *ctx) { - return pkey_gost_omac_init(ctx, 4); + return pkey_gost_omac_init(ctx, 8); } static int pkey_gost_grasshopper_mac_init(EVP_PKEY_CTX *ctx) { - return pkey_gost_omac_init(ctx, 8); + return pkey_gost_omac_init(ctx, 16); } static void pkey_gost_mac_cleanup(EVP_PKEY_CTX *ctx) @@ -697,7 +697,9 @@ static int pkey_gost_omac_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2, si case EVP_PKEY_CTRL_MD: { int nid = EVP_MD_type((const EVP_MD *)p2); - if (nid != NID_magma_mac && nid != NID_grasshopper_mac) { + if (nid != NID_magma_mac && nid != NID_grasshopper_mac + && nid != NID_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac /* FIXME beldmit */ + && nid != NID_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac) { GOSTerr(GOST_F_PKEY_GOST_OMAC_CTRL, GOST_R_INVALID_DIGEST_TYPE); return 0; @@ -954,8 +956,8 @@ int register_pmeth_gost(int id, EVP_PKEY_METHOD **pmeth, int flags) EVP_PKEY_meth_set_encrypt(*pmeth, pkey_gost_encrypt_init, - pkey_GOST_ECcp_encrypt); - EVP_PKEY_meth_set_decrypt(*pmeth, NULL, pkey_GOST_ECcp_decrypt); + pkey_gost_encrypt); + EVP_PKEY_meth_set_decrypt(*pmeth, NULL, pkey_gost_decrypt); EVP_PKEY_meth_set_derive(*pmeth, pkey_gost_derive_init, pkey_gost_ec_derive); EVP_PKEY_meth_set_paramgen(*pmeth, pkey_gost_paramgen_init, @@ -971,8 +973,8 @@ int register_pmeth_gost(int id, EVP_PKEY_METHOD **pmeth, int flags) EVP_PKEY_meth_set_encrypt(*pmeth, pkey_gost_encrypt_init, - pkey_GOST_ECcp_encrypt); - EVP_PKEY_meth_set_decrypt(*pmeth, NULL, pkey_GOST_ECcp_decrypt); + pkey_gost_encrypt); + EVP_PKEY_meth_set_decrypt(*pmeth, NULL, pkey_gost_decrypt); EVP_PKEY_meth_set_derive(*pmeth, pkey_gost_derive_init, pkey_gost_ec_derive); EVP_PKEY_meth_set_paramgen(*pmeth, @@ -989,8 +991,8 @@ int register_pmeth_gost(int id, EVP_PKEY_METHOD **pmeth, int flags) EVP_PKEY_meth_set_encrypt(*pmeth, pkey_gost_encrypt_init, - pkey_GOST_ECcp_encrypt); - EVP_PKEY_meth_set_decrypt(*pmeth, NULL, pkey_GOST_ECcp_decrypt); + pkey_gost_encrypt); + EVP_PKEY_meth_set_decrypt(*pmeth, NULL, pkey_gost_decrypt); EVP_PKEY_meth_set_derive(*pmeth, pkey_gost_derive_init, pkey_gost_ec_derive); EVP_PKEY_meth_set_paramgen(*pmeth, @@ -1028,6 +1030,7 @@ int register_pmeth_gost(int id, EVP_PKEY_METHOD **pmeth, int flags) EVP_PKEY_meth_set_copy(*pmeth, pkey_gost_mac_copy); return 1; case NID_grasshopper_mac: + case NID_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac: /* FIXME beldmit */ EVP_PKEY_meth_set_ctrl(*pmeth, pkey_gost_grasshopper_mac_ctrl, pkey_gost_grasshopper_mac_ctrl_str); EVP_PKEY_meth_set_signctx(*pmeth, pkey_gost_grasshopper_mac_signctx_init,