diff --git a/src/ocsp.c b/src/ocsp.c index d29cb54cc..3bb41c29b 100644 --- a/src/ocsp.c +++ b/src/ocsp.c @@ -1244,6 +1244,7 @@ int wolfSSL_OCSP_request_add1_nonce(OcspRequest* req, unsigned char* val, #ifndef HAVE_FIPS wc_InitRng_ex(&rng, req->heap, INVALID_DEVID) #else +WOLFSSL_ABI wc_InitRng(&rng) #endif != 0) { diff --git a/wolfcrypt/src/ecc.c b/wolfcrypt/src/ecc.c index b5c789d58..7923985df 100644 --- a/wolfcrypt/src/ecc.c +++ b/wolfcrypt/src/ecc.c @@ -4219,6 +4219,7 @@ static void wc_ecc_free_async(ecc_key* key) outlen [in/out] The max size and resulting size of the shared secret return MP_OKAY if successful */ +WOLFSSL_ABI int wc_ecc_shared_secret(ecc_key* private_key, ecc_key* public_key, byte* out, word32* outlen) { @@ -5438,6 +5439,7 @@ void wc_ecc_key_free(ecc_key* key) return MP_OKAY if successful, upon error all allocated memory will be freed */ +WOLFSSL_ABI int wc_ecc_make_key(WC_RNG* rng, int keysize, ecc_key* key) { return wc_ecc_make_key_ex(rng, keysize, key, ECC_CURVE_DEF); @@ -5518,6 +5520,7 @@ int wc_ecc_init_ex(ecc_key* key, void* heap, int devId) return ret; } +WOLFSSL_ABI int wc_ecc_init(ecc_key* key) { #ifdef WOLFSSL_QNX_CAAM @@ -9376,6 +9379,7 @@ static int _ecc_validate_public_key(ecc_key* key, int partial, int priv) /* perform sanity checks on ecc key validity, 0 on success */ +WOLFSSL_ABI int wc_ecc_check_key(ecc_key* key) { int ret; @@ -10394,6 +10398,7 @@ static int ecc_public_key_size(ecc_key* key, word32* sz) #endif /* key size in octets */ +WOLFSSL_ABI int wc_ecc_size(ecc_key* key) { if (key == NULL || key->dp == NULL) @@ -10403,6 +10408,7 @@ int wc_ecc_size(ecc_key* key) } /* maximum signature size based on key size */ +WOLFSSL_ABI int wc_ecc_sig_size_calc(int sz) { int maxSigSz = 0; @@ -10420,6 +10426,7 @@ int wc_ecc_sig_size_calc(int sz) } /* maximum signature size based on actual key curve */ +WOLFSSL_ABI int wc_ecc_sig_size(const ecc_key* key) { int maxSigSz; @@ -12262,6 +12269,7 @@ void wc_ecc_fp_init(void) /** Free the Fixed Point cache */ +WOLFSSL_ABI void wc_ecc_fp_free(void) { #if !defined(WOLFSSL_SP_MATH) diff --git a/wolfcrypt/src/wc_port.c b/wolfcrypt/src/wc_port.c index 6764cd7ac..dcafa1da4 100644 --- a/wolfcrypt/src/wc_port.c +++ b/wolfcrypt/src/wc_port.c @@ -126,6 +126,7 @@ static volatile int initRefCount = 0; /* Used to initialize state for wolfcrypt return 0 on success */ +WOLFSSL_ABI int wolfCrypt_Init(void) { int ret = 0; @@ -361,6 +362,7 @@ long wolfCrypt_heap_peakBytes_checkpoint(void) { #endif /* return success value is the same as wolfCrypt_Init */ +WOLFSSL_ABI int wolfCrypt_Cleanup(void) { int ret = 0; diff --git a/wolfssl/wolfcrypt/ecc.h b/wolfssl/wolfcrypt/ecc.h index cf7ede4ff..84c45c667 100644 --- a/wolfssl/wolfcrypt/ecc.h +++ b/wolfssl/wolfcrypt/ecc.h @@ -558,7 +558,7 @@ WOLFSSL_LOCAL int ecc_projective_dbl_point_safe(ecc_point* P, ecc_point* R, mp_int* a, mp_int* modulus, mp_digit mp); -WOLFSSL_API +WOLFSSL_ABI WOLFSSL_API int wc_ecc_make_key(WC_RNG* rng, int keysize, ecc_key* key); WOLFSSL_ABI WOLFSSL_API int wc_ecc_make_key_ex(WC_RNG* rng, int keysize, ecc_key* key, int curve_id); @@ -569,7 +569,7 @@ WOLFSSL_API int wc_ecc_make_pub(ecc_key* key, ecc_point* pubOut); WOLFSSL_API int wc_ecc_make_pub_ex(ecc_key* key, ecc_point* pubOut, WC_RNG* rng); -WOLFSSL_API +WOLFSSL_ABI WOLFSSL_API int wc_ecc_check_key(ecc_key* key); WOLFSSL_API int wc_ecc_is_point(ecc_point* ecp, mp_int* a, mp_int* b, mp_int* prime); @@ -577,7 +577,7 @@ WOLFSSL_API int wc_ecc_get_generator(ecc_point* ecp, int curve_idx); #ifdef HAVE_ECC_DHE -WOLFSSL_API +WOLFSSL_ABI WOLFSSL_API int wc_ecc_shared_secret(ecc_key* private_key, ecc_key* public_key, byte* out, word32* outlen); WOLFSSL_LOCAL @@ -646,7 +646,7 @@ WOLFSSL_ABI WOLFSSL_API int wc_ecc_free(ecc_key* key); WOLFSSL_API int wc_ecc_set_flags(ecc_key* key, word32 flags); -WOLFSSL_API +WOLFSSL_ABI WOLFSSL_API void wc_ecc_fp_free(void); WOLFSSL_LOCAL void wc_ecc_fp_init(void); @@ -800,11 +800,11 @@ int wc_ecc_import_point_der(const byte* in, word32 inLen, const int curve_idx, #endif /* HAVE_ECC_KEY_IMPORT */ /* size helper */ -WOLFSSL_API +WOLFSSL_ABI WOLFSSL_API int wc_ecc_size(ecc_key* key); -WOLFSSL_API +WOLFSSL_ABI WOLFSSL_API int wc_ecc_sig_size_calc(int sz); -WOLFSSL_API +WOLFSSL_ABI WOLFSSL_API int wc_ecc_sig_size(const ecc_key* key); WOLFSSL_API diff --git a/wolfssl/wolfcrypt/random.h b/wolfssl/wolfcrypt/random.h index 1b12dd850..28ac8f640 100644 --- a/wolfssl/wolfcrypt/random.h +++ b/wolfssl/wolfcrypt/random.h @@ -216,7 +216,7 @@ WOLFSSL_ABI WOLFSSL_API void wc_rng_free(WC_RNG* rng); #ifndef WC_NO_RNG -WOLFSSL_API int wc_InitRng(WC_RNG* rng); +WOLFSSL_ABI WOLFSSL_API int wc_InitRng(WC_RNG* rng); WOLFSSL_API int wc_InitRng_ex(WC_RNG* rng, void* heap, int devId); WOLFSSL_API int wc_InitRngNonce(WC_RNG* rng, byte* nonce, word32 nonceSz); WOLFSSL_API int wc_InitRngNonce_ex(WC_RNG* rng, byte* nonce, word32 nonceSz, diff --git a/wolfssl/wolfcrypt/wc_port.h b/wolfssl/wolfcrypt/wc_port.h index 0dd9cc75c..2c8185c80 100644 --- a/wolfssl/wolfcrypt/wc_port.h +++ b/wolfssl/wolfcrypt/wc_port.h @@ -358,9 +358,12 @@ WOLFSSL_API int wc_LockMutex_ex(int flag, int type, const char* file, int line); WOLFSSL_API int wc_SetMutexCb(mutex_cb* cb); #endif +#define WOLFSSL_ABI + /* TODO: Fix this. The above is a hack for now - UP */ + /* main crypto initialization function */ -WOLFSSL_API int wolfCrypt_Init(void); -WOLFSSL_API int wolfCrypt_Cleanup(void); +WOLFSSL_ABI WOLFSSL_API int wolfCrypt_Init(void); +WOLFSSL_ABI WOLFSSL_API int wolfCrypt_Cleanup(void); #ifdef WOLFSSL_TRACK_MEMORY_VERBOSE WOLFSSL_API long wolfCrypt_heap_peakAllocs_checkpoint(void);