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