/* dsa.h for openSSL */ #ifndef CYASSL_DSA_H_ #define CYASSL_DSA_H_ #include #include #ifdef __cplusplus extern "C" { #endif struct CYASSL_DSA { CYASSL_BIGNUM* p; CYASSL_BIGNUM* q; CYASSL_BIGNUM* g; CYASSL_BIGNUM* pub_key; /* our y */ CYASSL_BIGNUM* priv_key; /* our x */ void* internal; /* our Dsa Key */ char inSet; /* internal set from external ? */ char exSet; /* external set from internal ? */ }; CYASSL_API CYASSL_DSA* CyaSSL_DSA_new(void); CYASSL_API void CyaSSL_DSA_free(CYASSL_DSA*); CYASSL_API int CyaSSL_DSA_generate_key(CYASSL_DSA*); CYASSL_API int CyaSSL_DSA_generate_parameters_ex(CYASSL_DSA*, int bits, unsigned char* seed, int seedLen, int* counterRet, unsigned long* hRet, void* cb); CYASSL_API int CyaSSL_DSA_LoadDer(CYASSL_DSA*, const unsigned char*, int sz); CYASSL_API int CyaSSL_DSA_do_sign(const unsigned char* d, unsigned char* sigRet, CYASSL_DSA* dsa); #define DSA_new CyaSSL_DSA_new #define DSA_free CyaSSL_DSA_free #define DSA_generate_key CyaSSL_DSA_generate_key #define DSA_generate_parameters_ex CyaSSL_DSA_generate_parameters_ex #ifdef __cplusplus } /* extern "C" */ #endif #endif /* header */