[openssl-commits] [openssl] master update

Richard Levitte levitte at openssl.org
Wed Mar 15 14:03:14 UTC 2017


The branch master has been updated
       via  d1da335c5514f9ba8b5115faab208a8046a5bc56 (commit)
      from  89b06ca7b0b08d31ac48275d1376a7046dd75f55 (commit)


- Log -----------------------------------------------------------------
commit d1da335c5514f9ba8b5115faab208a8046a5bc56
Author: Richard Levitte <levitte at openssl.org>
Date:   Wed Mar 15 14:11:34 2017 +0100

    Add EC_KEY_get0_engine()
    
    Just as for DH, DSA and RSA, this gives the engine associated with the
    key.
    
    Reviewed-by: Matt Caswell <matt at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/2960)

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

Summary of changes:
 CHANGES                 | 4 ++++
 crypto/ec/ec_key.c      | 5 +++++
 doc/man3/EC_KEY_new.pod | 7 +++++++
 include/openssl/ec.h    | 6 ++++++
 4 files changed, 22 insertions(+)

diff --git a/CHANGES b/CHANGES
index f25c206..9c6e897 100644
--- a/CHANGES
+++ b/CHANGES
@@ -4,6 +4,10 @@
 
  Changes between 1.1.0e and 1.1.1 [xx XXX xxxx]
 
+  *) Add EC_KEY_get0_engine(), which does for EC_KEY what RSA_get0_engine()
+     does for RSA, etc.
+     [Richard Levitte]
+
   *) Have 'config' recognise 64-bit mingw and choose 'mingw64' as the target
      platform rather than 'mingw'.
      [Richard Levitte]
diff --git a/crypto/ec/ec_key.c b/crypto/ec/ec_key.c
index 2d10a8c..96411c0 100644
--- a/crypto/ec/ec_key.c
+++ b/crypto/ec/ec_key.c
@@ -177,6 +177,11 @@ int EC_KEY_up_ref(EC_KEY *r)
     return ((i > 1) ? 1 : 0);
 }
 
+ENGINE *EC_KEY_get0_engine(const EC_KEY *eckey)
+{
+    return eckey->engine;
+}
+
 int EC_KEY_generate_key(EC_KEY *eckey)
 {
     if (eckey == NULL || eckey->group == NULL) {
diff --git a/doc/man3/EC_KEY_new.pod b/doc/man3/EC_KEY_new.pod
index 591529f..c040706 100644
--- a/doc/man3/EC_KEY_new.pod
+++ b/doc/man3/EC_KEY_new.pod
@@ -5,6 +5,7 @@
 EC_KEY_get_method, EC_KEY_set_method,
 EC_KEY_new, EC_KEY_get_flags, EC_KEY_set_flags, EC_KEY_clear_flags,
 EC_KEY_new_by_curve_name, EC_KEY_free, EC_KEY_copy, EC_KEY_dup, EC_KEY_up_ref,
+EC_KEY_get0_engine,
 EC_KEY_get0_group, EC_KEY_set_group, EC_KEY_get0_private_key,
 EC_KEY_set_private_key, EC_KEY_get0_public_key, EC_KEY_set_public_key,
 EC_KEY_get_conv_form,
@@ -27,6 +28,7 @@ EC_KEY objects
  EC_KEY *EC_KEY_copy(EC_KEY *dst, const EC_KEY *src);
  EC_KEY *EC_KEY_dup(const EC_KEY *src);
  int EC_KEY_up_ref(EC_KEY *key);
+ ENGINE *EC_KEY_get0_engine(const EC_KEY *eckey);
  const EC_GROUP *EC_KEY_get0_group(const EC_KEY *key);
  int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group);
  const BIGNUM *EC_KEY_get0_private_key(const EC_KEY *key);
@@ -78,6 +80,9 @@ EC_KEY_dup() creates a new EC_KEY object and copies B<ec_key> into it.
 EC_KEY_up_ref() increments the reference count associated with the EC_KEY
 object.
 
+EC_KEY_get0_engine() returns a handle to the ENGINE that has been set for
+this EC_KEY object.
+
 EC_KEY_generate_key() generates a new public and private key for the supplied
 B<eckey> object. B<eckey> must have an EC_GROUP object associated with it
 before calling this function. The private key is a random integer (0 < priv_key
@@ -149,6 +154,8 @@ integer.
 
 EC_KEY_copy() returns a pointer to the destination key, or NULL on error.
 
+EC_KEY_get0_engine() returns a pointer to an ENGINE, or NULL if it wasn't set.
+
 EC_KEY_up_ref(), EC_KEY_set_group(), EC_KEY_set_private_key(),
 EC_KEY_set_public_key(), EC_KEY_precompute_mult(), EC_KEY_generate_key(),
 EC_KEY_check_key(), EC_KEY_set_public_key_affine_coordinates(),
diff --git a/include/openssl/ec.h b/include/openssl/ec.h
index 656cb41..418ca35 100644
--- a/include/openssl/ec.h
+++ b/include/openssl/ec.h
@@ -787,6 +787,12 @@ EC_KEY *EC_KEY_dup(const EC_KEY *src);
  */
 int EC_KEY_up_ref(EC_KEY *key);
 
+/** Returns the ENGINE object of a EC_KEY object
+ *  \param  key  EC_KEY object
+ *  \return the ENGINE object (possibly NULL).
+ */
+ENGINE *EC_KEY_get0_engine(const EC_KEY *eckey);
+
 /** Returns the EC_GROUP object of a EC_KEY object
  *  \param  key  EC_KEY object
  *  \return the EC_GROUP object (possibly NULL).


More information about the openssl-commits mailing list