Xuyi Wang / wolfSSL

Dependents:   OS

Committer:
wolfSSL
Date:
Thu Apr 28 00:56:55 2016 +0000
Revision:
3:6f956bdb3073
wolfSSL 3.9.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wolfSSL 3:6f956bdb3073 1 /* dsa.h for openSSL */
wolfSSL 3:6f956bdb3073 2
wolfSSL 3:6f956bdb3073 3
wolfSSL 3:6f956bdb3073 4 #ifndef WOLFSSL_DSA_H_
wolfSSL 3:6f956bdb3073 5 #define WOLFSSL_DSA_H_
wolfSSL 3:6f956bdb3073 6
wolfSSL 3:6f956bdb3073 7 #include <wolfssl/openssl/ssl.h>
wolfSSL 3:6f956bdb3073 8 #include <wolfssl/openssl/bn.h>
wolfSSL 3:6f956bdb3073 9
wolfSSL 3:6f956bdb3073 10 #ifdef __cplusplus
wolfSSL 3:6f956bdb3073 11 extern "C" {
wolfSSL 3:6f956bdb3073 12 #endif
wolfSSL 3:6f956bdb3073 13
wolfSSL 3:6f956bdb3073 14 struct WOLFSSL_DSA {
wolfSSL 3:6f956bdb3073 15 WOLFSSL_BIGNUM* p;
wolfSSL 3:6f956bdb3073 16 WOLFSSL_BIGNUM* q;
wolfSSL 3:6f956bdb3073 17 WOLFSSL_BIGNUM* g;
wolfSSL 3:6f956bdb3073 18 WOLFSSL_BIGNUM* pub_key; /* our y */
wolfSSL 3:6f956bdb3073 19 WOLFSSL_BIGNUM* priv_key; /* our x */
wolfSSL 3:6f956bdb3073 20 void* internal; /* our Dsa Key */
wolfSSL 3:6f956bdb3073 21 char inSet; /* internal set from external ? */
wolfSSL 3:6f956bdb3073 22 char exSet; /* external set from internal ? */
wolfSSL 3:6f956bdb3073 23 };
wolfSSL 3:6f956bdb3073 24
wolfSSL 3:6f956bdb3073 25
wolfSSL 3:6f956bdb3073 26 WOLFSSL_API WOLFSSL_DSA* wolfSSL_DSA_new(void);
wolfSSL 3:6f956bdb3073 27 WOLFSSL_API void wolfSSL_DSA_free(WOLFSSL_DSA*);
wolfSSL 3:6f956bdb3073 28
wolfSSL 3:6f956bdb3073 29 WOLFSSL_API int wolfSSL_DSA_generate_key(WOLFSSL_DSA*);
wolfSSL 3:6f956bdb3073 30 WOLFSSL_API int wolfSSL_DSA_generate_parameters_ex(WOLFSSL_DSA*, int bits,
wolfSSL 3:6f956bdb3073 31 unsigned char* seed, int seedLen, int* counterRet,
wolfSSL 3:6f956bdb3073 32 unsigned long* hRet, void* cb);
wolfSSL 3:6f956bdb3073 33
wolfSSL 3:6f956bdb3073 34 WOLFSSL_API int wolfSSL_DSA_LoadDer(WOLFSSL_DSA*, const unsigned char*, int sz);
wolfSSL 3:6f956bdb3073 35
wolfSSL 3:6f956bdb3073 36 WOLFSSL_API int wolfSSL_DSA_do_sign(const unsigned char* d,
wolfSSL 3:6f956bdb3073 37 unsigned char* sigRet, WOLFSSL_DSA* dsa);
wolfSSL 3:6f956bdb3073 38
wolfSSL 3:6f956bdb3073 39 WOLFSSL_API int wolfSSL_DSA_do_verify(const unsigned char* d,
wolfSSL 3:6f956bdb3073 40 unsigned char* sig,
wolfSSL 3:6f956bdb3073 41 WOLFSSL_DSA* dsa, int *dsacheck);
wolfSSL 3:6f956bdb3073 42
wolfSSL 3:6f956bdb3073 43 #define DSA_new wolfSSL_DSA_new
wolfSSL 3:6f956bdb3073 44 #define DSA_free wolfSSL_DSA_free
wolfSSL 3:6f956bdb3073 45
wolfSSL 3:6f956bdb3073 46 #define DSA_generate_key wolfSSL_DSA_generate_key
wolfSSL 3:6f956bdb3073 47 #define DSA_generate_parameters_ex wolfSSL_DSA_generate_parameters_ex
wolfSSL 3:6f956bdb3073 48
wolfSSL 3:6f956bdb3073 49
wolfSSL 3:6f956bdb3073 50 #ifdef __cplusplus
wolfSSL 3:6f956bdb3073 51 } /* extern "C" */
wolfSSL 3:6f956bdb3073 52 #endif
wolfSSL 3:6f956bdb3073 53
wolfSSL 3:6f956bdb3073 54 #endif /* header */
wolfSSL 3:6f956bdb3073 55