]> wagner.pp.ru Git - openssl-gost/engine.git/commitdiff
Dealing with new KeyExchange
authorDmitry Belyavskiy <beldmit@gmail.com>
Thu, 30 Aug 2018 09:06:25 +0000 (12:06 +0300)
committerDmitry Belyavskiy <beldmit@gmail.com>
Thu, 30 Aug 2018 09:06:25 +0000 (12:06 +0300)
gost_lcl.h
gost_pmeth.c

index f63f23ce18b39921df706a3838dd20dc3f64a600..7871eb8b73b21ad9d389227f95a559924b12a801 100644 (file)
@@ -69,7 +69,9 @@ struct gost_pmeth_data {
                                  * filled */
     EVP_MD *md;
     unsigned char *shared_ukm;
+    size_t shared_ukm_size; /* XXX temporary use shared_ukm and hash for 2018 CKE*/
     int peer_key_used;
+    int cipher_nid; /* KExp15/KImp15 algs*/
 };
 
 struct gost_mac_pmeth_data {
index 69080bdc52f689907ea240c1003e9ead0b1538b1..92c7bca399e1b18cc6064abdfcb8b90a1190f4fe 100644 (file)
@@ -151,6 +151,10 @@ static int pkey_gost_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
             return 0;
         }
         memcpy(pctx->shared_ukm, p2, (int)p1);
+        pctx->shared_ukm_size = p1;
+        return 1;
+    case EVP_PKEY_CTRL_CIPHER:
+        pctx->cipher_nid = p1;
         return 1;
     case EVP_PKEY_CTRL_PEER_KEY:
         if (p1 == 0 || p1 == 1) /* call from EVP_PKEY_derive_set_peer */