]> www.wagner.pp.ru Git - openssl-gost/engine.git/blobdiff - gost_ameth.c
OMACs implementation. Unfinished.
[openssl-gost/engine.git] / gost_ameth.c
index 12ea593ed5fdb8a297b2cb96d9fc2ec148bdbd83..8ce4505addc7dbc12f0ba21681610a34a322990e 100644 (file)
@@ -419,6 +419,8 @@ static int priv_encode_gost(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pk)
     ASN1_STRING *params = encode_gost_algor_params(pk);
     unsigned char *buf = NULL;
     int key_len = pkey_bits_gost(pk), i = 0;
+    /* unmasked private key */
+    const char *pk_format = get_gost_engine_param(GOST_PARAM_PK_FORMAT);
 
     if (!params) {
         return 0;
@@ -441,8 +443,6 @@ static int priv_encode_gost(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pk)
         buf[key_len - 1 - i] = tmp;
     }
 
-    /* unmasked private key */
-    const char *pk_format = get_gost_engine_param(GOST_PARAM_PK_FORMAT);
     if(pk_format != NULL && strcmp(pk_format, PK_WRAP_PARAM) == 0) {
         ASN1_STRING *octet = NULL;
         int priv_len = 0;
@@ -922,6 +922,16 @@ int register_ameth_gost(int nid, EVP_PKEY_ASN1_METHOD **ameth,
         EVP_PKEY_asn1_set_free(*ameth, mackey_free_gost);
         EVP_PKEY_asn1_set_ctrl(*ameth, mac_ctrl_gost_12);
         break;
+/* TODO                                
+    case NID_magma_mac:
+        EVP_PKEY_asn1_set_free(*ameth, mackey_free_gost);
+        EVP_PKEY_asn1_set_ctrl(*ameth, mac_ctrl_gost);
+        break;
+    case NID_grasshopper_mac:
+        EVP_PKEY_asn1_set_free(*ameth, mackey_free_gost);
+        EVP_PKEY_asn1_set_ctrl(*ameth, mac_ctrl_gost_12);
+        break;
+*/                             
     }
     return 1;
 }