34typedef struct WOLFSSL_DSA_SIG {
39#ifndef WOLFSSL_DSA_TYPE_DEFINED
41#define WOLFSSL_DSA_TYPE_DEFINED
50 WOLFSSL_BIGNUM* pub_key;
51 WOLFSSL_BIGNUM* priv_key;
61WOLFSSL_API
int wolfSSL_DSA_generate_key(
WOLFSSL_DSA*);
63typedef void (*WOLFSSL_BN_CB)(
int i,
int j,
void* exArg);
64WOLFSSL_API
WOLFSSL_DSA* wolfSSL_DSA_generate_parameters(
int bits,
65 unsigned char* seed,
int seedLen,
int* counterRet,
66 unsigned long* hRet, WOLFSSL_BN_CB cb,
void* CBArg);
67WOLFSSL_API
int wolfSSL_DSA_generate_parameters_ex(
WOLFSSL_DSA*,
int bits,
68 unsigned char* seed,
int seedLen,
int* counterRet,
69 unsigned long* hRet,
void* cb);
71WOLFSSL_API
int wolfSSL_DSA_LoadDer(
WOLFSSL_DSA*,
const unsigned char*,
int sz);
73WOLFSSL_API
int wolfSSL_DSA_LoadDer_ex(
WOLFSSL_DSA*,
const unsigned char*,
76WOLFSSL_API
int wolfSSL_DSA_do_sign(
const unsigned char* d,
79WOLFSSL_API
int wolfSSL_DSA_do_verify(
const unsigned char* d,
83WOLFSSL_API WOLFSSL_DSA_SIG* wolfSSL_DSA_SIG_new(
void);
84WOLFSSL_API
void wolfSSL_DSA_SIG_free(WOLFSSL_DSA_SIG *sig);
85WOLFSSL_API WOLFSSL_DSA_SIG* wolfSSL_DSA_do_sign_ex(
const unsigned char* digest,
87WOLFSSL_API
int wolfSSL_DSA_do_verify_ex(
const unsigned char* digest,
int digest_len,
90#define WOLFSSL_DSA_LOAD_PRIVATE 1
91#define WOLFSSL_DSA_LOAD_PUBLIC 2
93#define DSA_new wolfSSL_DSA_new
94#define DSA_free wolfSSL_DSA_free
96#define DSA_LoadDer wolfSSL_DSA_LoadDer
97#define DSA_generate_key wolfSSL_DSA_generate_key
98#define DSA_generate_parameters wolfSSL_DSA_generate_parameters
99#define DSA_generate_parameters_ex wolfSSL_DSA_generate_parameters_ex
101#define DSA_SIG_new wolfSSL_DSA_SIG_new
102#define DSA_SIG_free wolfSSL_DSA_SIG_free
103#define DSA_do_sign wolfSSL_DSA_do_sign_ex
104#define DSA_do_verify wolfSSL_DSA_do_verify_ex
107#define DSA_SIG WOLFSSL_DSA_SIG