Commit 6e73d12e authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

return errors for unsupported operations

parent 6a774a66
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@
# include <openssl/engine.h>
#endif
#include <openssl/rand.h>
#include <openssl/err.h>

ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst, int dlen, EC_KEY *eckey)
{
@@ -71,6 +72,7 @@ ECDSA_SIG *ECDSA_do_sign_ex(const unsigned char *dgst, int dlen,
{
    if (eckey->meth->sign_sig)
        return eckey->meth->sign_sig(dgst, dlen, kinv, rp, eckey);
    ECerr(EC_F_ECDSA_DO_SIGN_EX, EC_R_OPERATION_NOT_SUPPORTED);
    return NULL;
}

@@ -101,5 +103,6 @@ int ECDSA_sign_setup(EC_KEY *eckey, BN_CTX *ctx_in, BIGNUM **kinvp,
{
    if (eckey->meth->sign_setup)
        return eckey->meth->sign_setup(eckey, ctx_in, kinvp, rp);
    ECerr(EC_F_ECDSA_SIGN_SETUP, EC_R_OPERATION_NOT_SUPPORTED);
    return 0;
}
+2 −0
Original line number Diff line number Diff line
@@ -62,6 +62,7 @@
#ifndef OPENSSL_NO_ENGINE
# include <openssl/engine.h>
#endif
#include <openssl/err.h>

/*-
 * returns
@@ -74,6 +75,7 @@ int ECDSA_do_verify(const unsigned char *dgst, int dgst_len,
{
    if (eckey->meth->verify_sig)
        return eckey->meth->verify_sig(dgst, dgst_len, sig, eckey);
    ECerr(EC_F_ECDSA_DO_VERIFY, EC_R_OPERATION_NOT_SUPPORTED);
    return 0;
}

+2 −0
Original line number Diff line number Diff line
@@ -1192,6 +1192,8 @@ void ERR_load_EC_strings(void);
# define EC_F_ECDH_CMS_DECRYPT                            238
# define EC_F_ECDH_CMS_SET_SHARED_INFO                    239
# define EC_F_ECDH_COMPUTE_KEY                            246
# define EC_F_ECDSA_DO_SIGN_EX                            251
# define EC_F_ECDSA_DO_VERIFY                             252
# define EC_F_ECDSA_SIGN_SETUP                            248
# define EC_F_ECKEY_PARAM2TYPE                            223
# define EC_F_ECKEY_PARAM_DECODE                          212