1/* 2 * Copyright 2002-2020 The OpenSSL Project Authors. All Rights Reserved. 3 * 4 * Licensed under the OpenSSL license (the "License"). You may not use 5 * this file except in compliance with the License. You can obtain a copy 6 * in the file LICENSE in the source distribution or at 7 * https://www.openssl.org/source/license.html 8 */ 9 10#include <openssl/ec.h> 11#include "ec_local.h" 12#include <openssl/err.h> 13 14/*- 15 * returns 16 * 1: correct signature 17 * 0: incorrect signature 18 * -1: error 19 */ 20int ECDSA_do_verify(const unsigned char *dgst, int dgst_len, 21 const ECDSA_SIG *sig, EC_KEY *eckey) 22{ 23 if (eckey->meth->verify_sig != NULL) 24 return eckey->meth->verify_sig(dgst, dgst_len, sig, eckey); 25 ECerr(EC_F_ECDSA_DO_VERIFY, EC_R_OPERATION_NOT_SUPPORTED); 26 return -1; 27} 28 29/*- 30 * returns 31 * 1: correct signature 32 * 0: incorrect signature 33 * -1: error 34 */ 35int ECDSA_verify(int type, const unsigned char *dgst, int dgst_len, 36 const unsigned char *sigbuf, int sig_len, EC_KEY *eckey) 37{ 38 if (eckey->meth->verify != NULL) 39 return eckey->meth->verify(type, dgst, dgst_len, sigbuf, sig_len, 40 eckey); 41 ECerr(EC_F_ECDSA_VERIFY, EC_R_OPERATION_NOT_SUPPORTED); 42 return -1; 43} 44