]> www.wagner.pp.ru Git - openssl-gost/engine.git/blobdiff - gost_pmeth.c
Opaquization fixes + sources formatting.
[openssl-gost/engine.git] / gost_pmeth.c
index 6b38e60518c122a4b55c64afa1b1e7f16c7152e8..d84c7ef933d4cfa246c4c05887cdb2e48d9ee6af 100644 (file)
@@ -369,10 +369,12 @@ static int pkey_gost2012cp_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)
  */
 int pack_sign_cp(DSA_SIG *s, int order, unsigned char *sig, size_t *siglen)
 {
+    BIGNUM *sig_r = NULL, *sig_s = NULL;
+    DSA_SIG_get0(&sig_r, &sig_s, s);
     *siglen = 2 * order;
     memset(sig, 0, *siglen);
-    store_bignum(s->s, sig, order);
-    store_bignum(s->r, sig + order, order);
+    store_bignum(sig_s, sig, order);
+    store_bignum(sig_r, sig + order, order);
     DSA_SIG_free(s);
     return 1;
 }
@@ -418,14 +420,16 @@ static int pkey_gost_ec_cp_sign(EVP_PKEY_CTX *ctx, unsigned char *sig,
 DSA_SIG *unpack_cp_signature(const unsigned char *sig, size_t siglen)
 {
     DSA_SIG *s;
+    BIGNUM *sig_r = NULL, *sig_s = NULL;
 
     s = DSA_SIG_new();
     if (s == NULL) {
         GOSTerr(GOST_F_UNPACK_CP_SIGNATURE, ERR_R_MALLOC_FAILURE);
         return NULL;
     }
-    s->s = BN_bin2bn(sig, siglen / 2, NULL);
-    s->r = BN_bin2bn(sig + siglen / 2, siglen / 2, NULL);
+    DSA_SIG_get0(&sig_r, &sig_s, s);
+    sig_s = BN_bin2bn(sig, siglen / 2, NULL);
+    sig_r = BN_bin2bn(sig + siglen / 2, siglen / 2, NULL);
     return s;
 }
 
@@ -480,7 +484,7 @@ static int pkey_gost_mac_init(EVP_PKEY_CTX *ctx)
         struct gost_mac_key *key = EVP_PKEY_get0(pkey);
         if (key) {
             data->mac_param_nid = key->mac_param_nid;
-                                               data->mac_size      = key->mac_size;
+            data->mac_size = key->mac_size;
         }
     }
 
@@ -568,11 +572,11 @@ static int pkey_gost_mac_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
                             GOST_R_MAC_KEY_NOT_SET);
                     return 0;
                 }
-            return EVP_MD_meth_get_ctrl(EVP_MD_CTX_md(mctx))
-                (mctx, EVP_MD_CTRL_SET_KEY, 0, key);
+                return EVP_MD_meth_get_ctrl(EVP_MD_CTX_md(mctx))
+                    (mctx, EVP_MD_CTRL_SET_KEY, 0, key);
             } else {
-            return EVP_MD_meth_get_ctrl(EVP_MD_CTX_md(mctx))
-                (mctx, EVP_MD_CTRL_SET_KEY, 32, &(data->key));
+                return EVP_MD_meth_get_ctrl(EVP_MD_CTX_md(mctx))
+                    (mctx, EVP_MD_CTRL_SET_KEY, 32, &(data->key));
             }
         }
     case EVP_PKEY_CTRL_MAC_LEN:
@@ -659,7 +663,7 @@ static int pkey_gost_mac_keygen_base(EVP_PKEY_CTX *ctx,
         return 0;
     memcpy(keydata->key, data->key, 32);
     keydata->mac_param_nid = data->mac_param_nid;
-               keydata->mac_size      = data->mac_size;
+    keydata->mac_size = data->mac_size;
     EVP_PKEY_assign(pkey, mac_nid, keydata);
     return 1;
 }
@@ -678,9 +682,9 @@ static int pkey_gost_mac_signctx_init(EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx)
 {
     struct gost_mac_pmeth_data *data = EVP_PKEY_CTX_get_data(ctx);
 
-               if (data == NULL) {
-                       pkey_gost_mac_init(ctx);
-               }
+    if (data == NULL) {
+        pkey_gost_mac_init(ctx);
+    }
 
     data = EVP_PKEY_CTX_get_data(ctx);
     if (!data) {