X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fec%2Fec_key.c;h=fb8c3ed756cf4b964591cbea91b26c4c42e58fa4;hp=2d10a8c26bcf10eb7c8dcb5d10782a04f92947be;hb=de61c03cc7ac52e45d50504e8cf1dda2f5230b28;hpb=2f545ae45d4b93649e40ff7f93e2c3e6ce3154ae diff --git a/crypto/ec/ec_key.c b/crypto/ec/ec_key.c index 2d10a8c26b..fb8c3ed756 100644 --- a/crypto/ec/ec_key.c +++ b/crypto/ec/ec_key.c @@ -1,5 +1,6 @@ /* * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -7,13 +8,7 @@ * https://www.openssl.org/source/license.html */ -/* ==================================================================== - * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * Portions originally developed by SUN MICROSYSTEMS, INC., and - * contributed to the OpenSSL project. - */ - -#include +#include "internal/cryptlib.h" #include #include "ec_lcl.h" #include @@ -177,6 +172,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) { @@ -191,7 +191,8 @@ int EC_KEY_generate_key(EC_KEY *eckey) int ossl_ec_key_gen(EC_KEY *eckey) { - OPENSSL_assert(eckey->group->meth->keygen != NULL); + if (!ossl_assert(eckey->group->meth->keygen != NULL)) + return 0; return eckey->group->meth->keygen(eckey); } @@ -218,7 +219,7 @@ int ec_key_simple_generate_key(EC_KEY *eckey) goto err; do - if (!BN_rand_range(priv_key, order)) + if (!BN_priv_rand_range(priv_key, order)) goto err; while (BN_is_zero(priv_key)) ;