]> www.wagner.pp.ru Git - openssl-gost/engine.git/blobdiff - gost_eng.c
Add explicit support for NID_id_GostR3410_2001DH (GOST R 34.10-2001 DH)
[openssl-gost/engine.git] / gost_eng.c
index 08fc59739101013a1ef3be7a65699e1e5bc0c82b..3fbe2e83d5b90cd6478b132e27daf7a3161212c6 100644 (file)
@@ -39,6 +39,7 @@ static int gost_pkey_asn1_meths(ENGINE* e, EVP_PKEY_ASN1_METHOD** ameth,
                                 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,
@@ -46,6 +47,7 @@ static EVP_PKEY_METHOD* pmeth_GostR3410_2001 = 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,
@@ -97,6 +99,13 @@ static struct gost_meth_minfo {
         "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,
@@ -177,9 +186,9 @@ static int gost_engine_destroy(ENGINE* e) {
     int i;
 
     for (i = 0; i < OSSL_NELEM(gost_digest_array); i++)
-       GOST_deinit_digest(gost_digest_array[i]);
+        GOST_deinit_digest(gost_digest_array[i]);
     for (i = 0; i < OSSL_NELEM(gost_cipher_array); i++)
-       GOST_deinit_cipher(gost_cipher_array[i]);
+        GOST_deinit_cipher(gost_cipher_array[i]);
 
     gost_param_free();
 
@@ -262,12 +271,12 @@ static int bind_gost(ENGINE* e, const char* id) {
 
     int i;
     for (i = 0; i < OSSL_NELEM(gost_cipher_array); i++) {
-       if (!EVP_add_cipher(GOST_init_cipher(gost_cipher_array[i])))
+        if (!EVP_add_cipher(GOST_init_cipher(gost_cipher_array[i])))
             goto end;
     }
 
     for (i = 0; i < OSSL_NELEM(gost_digest_array); i++) {
-       if (!EVP_add_digest(GOST_init_digest(gost_digest_array[i])))
+        if (!EVP_add_digest(GOST_init_digest(gost_digest_array[i])))
             goto end;
     }
 
@@ -301,8 +310,8 @@ static int gost_digests(ENGINE *e, const EVP_MD **digest,
 
     for (i = 0; i < OSSL_NELEM(gost_digest_array); i++)
         if (nid == gost_digest_array[i]->nid) {
-           *digest = GOST_init_digest(gost_digest_array[i]);
-           return 1;
+            *digest = GOST_init_digest(gost_digest_array[i]);
+            return 1;
         }
     *digest = NULL;
     return 0;
@@ -325,8 +334,8 @@ static int gost_ciphers(ENGINE *e, const EVP_CIPHER **cipher,
 
     for (i = 0; i < OSSL_NELEM(gost_cipher_array); i++)
         if (nid == gost_cipher_array[i]->nid) {
-           *cipher = GOST_init_cipher(gost_cipher_array[i]);
-           return 1;
+            *cipher = GOST_init_cipher(gost_cipher_array[i]);
+            return 1;
         }
     *cipher = NULL;
     return 0;