#include <openssl/opensslconf.h>
#include <openssl/ec.h>
#include <openssl/ossl_typ.h>
#include <openssl/bn.h>
Go to the source code of this file.
Classes | |
struct | ECDSA_SIG_st |
Macros | |
#define | ECDSA_F_ECDSA_CHECK 104 |
#define | ECDSA_F_ECDSA_DATA_NEW_METHOD 100 |
#define | ECDSA_F_ECDSA_DO_SIGN 101 |
#define | ECDSA_F_ECDSA_DO_VERIFY 102 |
#define | ECDSA_F_ECDSA_SIGN_SETUP 103 |
#define | ECDSA_R_BAD_SIGNATURE 100 |
#define | ECDSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE 101 |
#define | ECDSA_R_ERR_EC_LIB 102 |
#define | ECDSA_R_MISSING_PARAMETERS 103 |
#define | ECDSA_R_NEED_NEW_SETUP_VALUES 106 |
#define | ECDSA_R_NON_FIPS_METHOD 107 |
#define | ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED 104 |
#define | ECDSA_R_SIGNATURE_MALLOC_FAILED 105 |
Typedefs | |
typedef struct ECDSA_SIG_st | ECDSA_SIG |
Functions | |
ECDSA_SIG * | ECDSA_SIG_new (void) |
void | ECDSA_SIG_free (ECDSA_SIG *sig) |
int | i2d_ECDSA_SIG (const ECDSA_SIG *sig, unsigned char **pp) |
ECDSA_SIG * | d2i_ECDSA_SIG (ECDSA_SIG **sig, const unsigned char **pp, long len) |
ECDSA_SIG * | ECDSA_do_sign (const unsigned char *dgst, int dgst_len, EC_KEY *eckey) |
ECDSA_SIG * | ECDSA_do_sign_ex (const unsigned char *dgst, int dgstlen, const BIGNUM *kinv, const BIGNUM *rp, EC_KEY *eckey) |
int | ECDSA_do_verify (const unsigned char *dgst, int dgst_len, const ECDSA_SIG *sig, EC_KEY *eckey) |
const ECDSA_METHOD * | ECDSA_OpenSSL (void) |
void | ECDSA_set_default_method (const ECDSA_METHOD *meth) |
const ECDSA_METHOD * | ECDSA_get_default_method (void) |
int | ECDSA_set_method (EC_KEY *eckey, const ECDSA_METHOD *meth) |
int | ECDSA_size (const EC_KEY *eckey) |
int | ECDSA_sign_setup (EC_KEY *eckey, BN_CTX *ctx, BIGNUM **kinv, BIGNUM **rp) |
int | ECDSA_sign (int type, const unsigned char *dgst, int dgstlen, unsigned char *sig, unsigned int *siglen, EC_KEY *eckey) |
int | ECDSA_sign_ex (int type, const unsigned char *dgst, int dgstlen, unsigned char *sig, unsigned int *siglen, const BIGNUM *kinv, const BIGNUM *rp, EC_KEY *eckey) |
int | ECDSA_verify (int type, const unsigned char *dgst, int dgstlen, const unsigned char *sig, int siglen, EC_KEY *eckey) |
int | ECDSA_get_ex_new_index (long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func) |
int | ECDSA_set_ex_data (EC_KEY *d, int idx, void *arg) |
void * | ECDSA_get_ex_data (EC_KEY *d, int idx) |
void | ERR_load_ECDSA_strings (void) |
Include file for the OpenSSL ECDSA functions
Definition in file ecdsa.h.
typedef struct ECDSA_SIG_st ECDSA_SIG |
Decodes a DER encoded ECDSA signature (note: this function changes *pp (*pp += len)).
sig | pointer to ECDSA_SIG pointer (may be NULL) |
pp | memory buffer with the DER encoded signature |
len | length of the buffer |
Computes the ECDSA signature of the given hash value using the supplied private key and returns the created signature.
dgst | pointer to the hash value |
dgst_len | length of the hash value |
eckey | EC_KEY object containing a private EC key |
Definition at line 62 of file ecs_sign.c.
ECDSA_SIG* ECDSA_do_sign_ex | ( | const unsigned char * | dgst, |
int | dgstlen, | ||
const BIGNUM * | kinv, | ||
const BIGNUM * | rp, | ||
EC_KEY * | eckey | ||
) |
Computes ECDSA signature of a given hash value using the supplied private key (note: sig must point to ECDSA_size(eckey) bytes of memory).
dgst | pointer to the hash value to sign |
dgstlen | length of the hash value |
kinv | BIGNUM with a pre-computed inverse k (optional) |
rp | BIGNUM with a pre-computed rp value (optioanl), see ECDSA_sign_setup |
eckey | EC_KEY object containing a private EC key |
Definition at line 67 of file ecs_sign.c.
int ECDSA_do_verify | ( | const unsigned char * | dgst, |
int | dgst_len, | ||
const ECDSA_SIG * | sig, | ||
EC_KEY * | eckey | ||
) |
Verifies that the supplied signature is a valid ECDSA signature of the supplied hash value using the supplied public key.
dgst | pointer to the hash value |
dgst_len | length of the hash value |
sig | ECDSA_SIG structure |
eckey | EC_KEY object containing a public EC key |
const ECDSA_METHOD* ECDSA_get_default_method | ( | void | ) |
int ECDSA_get_ex_new_index | ( | long | argl, |
void * | argp, | ||
CRYPTO_EX_new * | new_func, | ||
CRYPTO_EX_dup * | dup_func, | ||
CRYPTO_EX_free * | free_func | ||
) |
const ECDSA_METHOD* ECDSA_OpenSSL | ( | void | ) |
Definition at line 84 of file ecs_ossl.c.
void ECDSA_set_default_method | ( | const ECDSA_METHOD * | meth | ) |
int ECDSA_set_method | ( | EC_KEY * | eckey, |
const ECDSA_METHOD * | meth | ||
) |
frees a ECDSA_SIG structure
sig | pointer to the ECDSA_SIG structure |
Allocates and initialize a ECDSA_SIG structure
int ECDSA_sign | ( | int | type, |
const unsigned char * | dgst, | ||
int | dgstlen, | ||
unsigned char * | sig, | ||
unsigned int * | siglen, | ||
EC_KEY * | eckey | ||
) |
Computes ECDSA signature of a given hash value using the supplied private key (note: sig must point to ECDSA_size(eckey) bytes of memory).
type | this parameter is ignored |
dgst | pointer to the hash value to sign |
dgstlen | length of the hash value |
sig | memory for the DER encoded created signature |
siglen | pointer to the length of the returned signature |
eckey | EC_KEY object containing a private EC key |
Definition at line 76 of file ecs_sign.c.
int ECDSA_sign_ex | ( | int | type, |
const unsigned char * | dgst, | ||
int | dgstlen, | ||
unsigned char * | sig, | ||
unsigned int * | siglen, | ||
const BIGNUM * | kinv, | ||
const BIGNUM * | rp, | ||
EC_KEY * | eckey | ||
) |
Computes ECDSA signature of a given hash value using the supplied private key (note: sig must point to ECDSA_size(eckey) bytes of memory).
type | this parameter is ignored |
dgst | pointer to the hash value to sign |
dgstlen | length of the hash value |
sig | buffer to hold the DER encoded signature |
siglen | pointer to the length of the returned signature |
kinv | BIGNUM with a pre-computed inverse k (optional) |
rp | BIGNUM with a pre-computed rp value (optioanl), see ECDSA_sign_setup |
eckey | EC_KEY object containing a private EC key |
Definition at line 82 of file ecs_sign.c.
Precompute parts of the signing operation
eckey | EC_KEY object containing a private EC key |
ctx | BN_CTX object (optional) |
kinv | BIGNUM pointer for the inverse of k |
rp | BIGNUM pointer for x coordinate of k * generator |
Definition at line 99 of file ecs_sign.c.
int ECDSA_size | ( | const EC_KEY * | eckey | ) |
int ECDSA_verify | ( | int | type, |
const unsigned char * | dgst, | ||
int | dgstlen, | ||
const unsigned char * | sig, | ||
int | siglen, | ||
EC_KEY * | eckey | ||
) |
Verifies that the given signature is valid ECDSA signature of the supplied hash value using the specified public key.
type | this parameter is ignored |
dgst | pointer to the hash value |
dgstlen | length of the hash value |
sig | pointer to the DER encoded signature |
siglen | length of the DER encoded signature |
eckey | EC_KEY object containing a public EC key |
int i2d_ECDSA_SIG | ( | const ECDSA_SIG * | sig, |
unsigned char ** | pp | ||
) |
DER encode content of ECDSA_SIG object (note: this function modifies *pp (*pp += length of the DER encoded signature)).
sig | pointer to the ECDSA_SIG object |
pp | pointer to a unsigned char pointer for the output or NULL |