1 /* 2 * Copyright 2002-2016 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_lcl.h" 12 #include <openssl/err.h> 13 14 /*- 15 * returns 16 * 1: correct signature 17 * 0: incorrect signature 18 * -1: error 19 */ 20 int 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 0; 27 } 28 29 /*- 30 * returns 31 * 1: correct signature 32 * 0: incorrect signature 33 * -1: error 34 */ 35 int 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 0; 43 } 44