[openssl] master update

Matt Caswell matt at openssl.org
Fri Mar 1 14:17:30 UTC 2019


The branch master has been updated
       via  ed86f884ba10c93a0beb53492c5db463e31a6884 (commit)
      from  cc838ee2d66f7295bf7a7e6695aab1080d6791e9 (commit)


- Log -----------------------------------------------------------------
commit ed86f884ba10c93a0beb53492c5db463e31a6884
Author: Matt Caswell <matt at openssl.org>
Date:   Thu Feb 28 13:47:26 2019 +0000

    Fix no-ec, no-sm2 and no-sm3
    
    Reviewed-by: Richard Levitte <levitte at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/8372)

-----------------------------------------------------------------------

Summary of changes:
 apps/pkeyutl.c                 | 11 +++++++----
 test/recipes/20-test_pkeyutl.t |  9 +++++++--
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/apps/pkeyutl.c b/apps/pkeyutl.c
index b3452d3..c084525 100644
--- a/apps/pkeyutl.c
+++ b/apps/pkeyutl.c
@@ -526,14 +526,16 @@ static EVP_PKEY_CTX *init_ctx(const char *kdfalg, int *pkeysize,
         }
         ctx = EVP_PKEY_CTX_new_id(kdfnid, impl);
     } else {
-        EC_KEY *eckey = NULL;
-        const EC_GROUP *group = NULL;
-        int nid;
-
         if (pkey == NULL)
             goto end;
+
+#ifndef OPENSSL_NO_EC
         /* SM2 needs a special treatment */
         if (EVP_PKEY_id(pkey) == EVP_PKEY_EC) {
+            EC_KEY *eckey = NULL;
+            const EC_GROUP *group = NULL;
+            int nid;
+
             if ((eckey = EVP_PKEY_get0_EC_KEY(pkey)) == NULL
                     || (group = EC_KEY_get0_group(eckey)) == NULL
                     || (nid = EC_GROUP_get_curve_name(group)) == 0)
@@ -541,6 +543,7 @@ static EVP_PKEY_CTX *init_ctx(const char *kdfalg, int *pkeysize,
             if (nid == NID_sm2)
                 EVP_PKEY_set_alias_type(pkey, EVP_PKEY_SM2);
         }
+#endif
         *pkeysize = EVP_PKEY_size(pkey);
         ctx = EVP_PKEY_CTX_new(pkey, impl);
         if (ppkey != NULL)
diff --git a/test/recipes/20-test_pkeyutl.t b/test/recipes/20-test_pkeyutl.t
index a051138..1457530 100644
--- a/test/recipes/20-test_pkeyutl.t
+++ b/test/recipes/20-test_pkeyutl.t
@@ -37,7 +37,12 @@ sub verify
                       '-digest', 'sm3', '-pkeyopt', 'sm2_id:someid'])));
 }
 
-ok(sign, "Sign a piece of data using SM2");
-ok(verify, "Verify an SM2 signature against a piece of data");
+SKIP: {
+    skip "Skipping tests that require EC, SM2 or SM3", 2
+        if disabled("ec") || disabled("sm2") || disabled("sm3");
+
+    ok(sign, "Sign a piece of data using SM2");
+    ok(verify, "Verify an SM2 signature against a piece of data");
+}
 
 unlink 'signature.sm2';


More information about the openssl-commits mailing list