wolf SSL / wolfSSL-TLS13-Beta

Fork of wolfSSL by wolf SSL

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers ecdsa.h Source File

ecdsa.h

00001 /* ecdsa.h for openssl */
00002 
00003 #ifndef WOLFSSL_ECDSA_H_
00004 #define WOLFSSL_ECDSA_H_
00005 
00006 #include <wolfssl/openssl/bn.h>
00007 
00008 
00009 #ifdef __cplusplus
00010 extern "C" {
00011 #endif
00012 
00013 #ifndef WOLFSSL_ECDSA_TYPE_DEFINED /* guard on redeclaration */
00014 typedef struct WOLFSSL_ECDSA_SIG      WOLFSSL_ECDSA_SIG;
00015 #define WOLFSSL_ECDSA_TYPE_DEFINED
00016 #endif
00017 
00018 typedef WOLFSSL_ECDSA_SIG             ECDSA_SIG;
00019 
00020 struct WOLFSSL_ECDSA_SIG {
00021     WOLFSSL_BIGNUM *r;
00022     WOLFSSL_BIGNUM *s;
00023 };
00024 
00025 WOLFSSL_API void wolfSSL_ECDSA_SIG_free(WOLFSSL_ECDSA_SIG *sig);
00026 WOLFSSL_API WOLFSSL_ECDSA_SIG *wolfSSL_ECDSA_SIG_new(void);
00027 WOLFSSL_API WOLFSSL_ECDSA_SIG *wolfSSL_ECDSA_do_sign(const unsigned char *dgst,
00028                                                      int dgst_len,
00029                                                      WOLFSSL_EC_KEY *eckey);
00030 WOLFSSL_API int wolfSSL_ECDSA_do_verify(const unsigned char *dgst,
00031                                         int dgst_len,
00032                                         const WOLFSSL_ECDSA_SIG *sig,
00033                                         WOLFSSL_EC_KEY *eckey);
00034 
00035 #define ECDSA_SIG_free wolfSSL_ECDSA_SIG_free
00036 #define ECDSA_SIG_new wolfSSL_ECDSA_SIG_new
00037 #define ECDSA_do_sign wolfSSL_ECDSA_do_sign
00038 #define ECDSA_do_verify wolfSSL_ECDSA_do_verify
00039 
00040 #ifdef __cplusplus
00041 }  /* extern "C" */
00042 #endif
00043 
00044 #endif /* header */
00045 
00046