]> wagner.pp.ru Git - openssl-gost/engine.git/blobdiff - gost_eng.c
gost_kimp15, untested
[openssl-gost/engine.git] / gost_eng.c
index caedf9afe1f2302214faeea6764d18cd2a96ec2a..11344db10e33258166706a6c79fb7d710b71f3a0 100644 (file)
@@ -49,6 +49,7 @@ static int gost_cipher_nids[] = {
         NID_grasshopper_ctr,
         NID_magma_cbc,
         NID_magma_ctr,
+        NID_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm,
         0
 };
 
@@ -122,6 +123,7 @@ static int gost_engine_destroy(ENGINE* e) {
     imit_gost_cp_12_destroy();
     magma_omac_destroy();
     grasshopper_omac_destroy();
+    grasshopper_omac_acpkm_destroy();
 
     cipher_gost_destroy();
     cipher_gost_grasshopper_destroy();
@@ -253,6 +255,7 @@ static int bind_gost(ENGINE* e, const char* id) {
         || !EVP_add_cipher(cipher_gost_grasshopper_cfb())
         || !EVP_add_cipher(cipher_gost_grasshopper_ofb())
         || !EVP_add_cipher(cipher_gost_grasshopper_ctr())
+        || !EVP_add_cipher(cipher_gost_grasshopper_ctracpkm())
         || !EVP_add_cipher(cipher_magma_cbc())
         || !EVP_add_cipher(cipher_magma_ctr())
         || !EVP_add_digest(digest_gost())
@@ -299,6 +302,8 @@ static int gost_digests(ENGINE* e, const EVP_MD** digest,
         *digest = magma_omac();
     } else if (nid == NID_grasshopper_mac) {
         *digest = grasshopper_omac();
+    } else if (nid == NID_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac) {
+        *digest = grasshopper_omac_acpkm();
     } else {
         ok = 0;
         *digest = NULL;
@@ -332,6 +337,8 @@ static int gost_ciphers(ENGINE* e, const EVP_CIPHER** cipher,
         *cipher = cipher_gost_grasshopper_ofb();
     } else if (nid == NID_grasshopper_ctr) {
         *cipher = cipher_gost_grasshopper_ctr();
+    } else if (nid == NID_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm) {
+        *cipher = cipher_gost_grasshopper_ctracpkm();
     } else if (nid == NID_magma_cbc) {
         *cipher = cipher_magma_cbc();
     } else if (nid == NID_magma_ctr) {