]> wagner.pp.ru Git - openssl-gost/engine.git/blobdiff - gost_pmeth.c
Merge branch 'master' of https://github.com/gost-engine/engine
[openssl-gost/engine.git] / gost_pmeth.c
index ddbe1433ca6571f58e5853816e4edfea54d6e1f3..2f3d7119b7b6e19c12a194021822ceed5039b691 100644 (file)
@@ -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,