From 211de19cc0a881871ed8949447da3e51c21318b3 Mon Sep 17 00:00:00 2001 From: connerwolfssl Date: Thu, 22 Mar 2018 10:31:41 -0600 Subject: [PATCH] added RSA preprocessor flags --- wolfCLU/clu_include/sign-verify/clu_sign.h | 15 ++++++- wolfCLU/clu_include/sign-verify/clu_verify.h | 14 ++++++- wolfCLU/clu_src/sign-verify/clu_sign.c | 24 ++++-------- wolfCLU/clu_src/sign-verify/clu_verify.c | 41 ++++++++------------ 4 files changed, 51 insertions(+), 43 deletions(-) diff --git a/wolfCLU/clu_include/sign-verify/clu_sign.h b/wolfCLU/clu_include/sign-verify/clu_sign.h index b317448c..51649cbd 100644 --- a/wolfCLU/clu_include/sign-verify/clu_sign.h +++ b/wolfCLU/clu_include/sign-verify/clu_sign.h @@ -1,3 +1,15 @@ +#include +#ifdef HAVE_ED25519 + #include +#endif +#ifndef NO_RSA + #include +#endif +#ifdef HAVE_ECC + #include + #include +#endif + enum { RSA_SIGN, ECC_SIGN, @@ -6,8 +18,9 @@ enum { int wolfCLU_sign_data(char*, char*, char*, int); + int wolfCLU_sign_data_rsa(byte*, char*, word32, char*); -int wolfCLU_sign_data_ecc(byte*, char*, word32, byte*, word32, char*); +int wolfCLU_sign_data_ecc(byte*, char*, word32, char*); int wolfCLU_sign_data_ed25519(byte*, char*, word32, byte*, word32, char*); diff --git a/wolfCLU/clu_include/sign-verify/clu_verify.h b/wolfCLU/clu_include/sign-verify/clu_verify.h index 2071e14b..db89ce7b 100644 --- a/wolfCLU/clu_include/sign-verify/clu_verify.h +++ b/wolfCLU/clu_include/sign-verify/clu_verify.h @@ -1,5 +1,17 @@ +#include +#ifdef HAVE_ED25519 + #include +#endif +#ifndef NO_RSA + #include +#endif +#ifdef HAVE_ECC + #include + #include +#endif + int wolfCLU_verify_signature(char* , char*, char*, int, int); int wolfCLU_verify_signature_rsa(byte* , char*, int, char*, int); -int wolfCLU_verify_signature_ecc(byte*, int, char*); +int wolfCLU_verify_signature_ecc(byte*, int, byte*, int, char*); int wolfCLU_verify_signature_ed25519(byte*, word32, char*); diff --git a/wolfCLU/clu_src/sign-verify/clu_sign.c b/wolfCLU/clu_src/sign-verify/clu_sign.c index d704363d..a09b6fac 100644 --- a/wolfCLU/clu_src/sign-verify/clu_sign.c +++ b/wolfCLU/clu_src/sign-verify/clu_sign.c @@ -1,8 +1,6 @@ -#include -#include +#include "clu_include/sign-verify/clu_sign.h" #include #include -#include "clu_include/sign-verify/clu_sign.h" #include "clu_include/clu_header_main.h" int wolfCLU_sign_data(char* in, char* out, char* privKey, int keyType) { @@ -39,6 +37,7 @@ int wolfCLU_sign_data(char* in, char* out, char* privKey, int keyType) { } int wolfCLU_sign_data_rsa(byte* data, char* out, word32 dataSz, char* privKey) { +#ifndef NO_RSA int ret; int privFileSz; size_t rsaKeySz; @@ -98,21 +97,12 @@ int wolfCLU_sign_data_rsa(byte* data, char* out, word32 dataSz, char* privKey) { } return 0; +#else + return NOT_COMPILED_IN; +#endif } -/* working example +int wolfCLU_sign_data_ecc(byte* data, char* out, word32 fSz, char* privKey) { -int main() { - FILE* f = fopen("./mydata.txt", "rb"); - int f_Sz; - byte* data; - - fseek(f, 0, SEEK_END); - f_Sz = ftell(f); - data = malloc(f_Sz*sizeof(data)); - fseek(f, 0, SEEK_SET); - fread(data, 1, f_Sz, f); - fclose(f); - wolfCLU_sign_data_rsa(data, f_Sz, "./myRsaKey4096.priv"); + return 0; } -*/ diff --git a/wolfCLU/clu_src/sign-verify/clu_verify.c b/wolfCLU/clu_src/sign-verify/clu_verify.c index 2f8f1796..b1d51055 100644 --- a/wolfCLU/clu_src/sign-verify/clu_verify.c +++ b/wolfCLU/clu_src/sign-verify/clu_verify.c @@ -1,9 +1,7 @@ -#include -#include +#include "clu_include/sign-verify/clu_verify.h" #include #include #include "clu_include/clu_header_main.h" -#include "clu_include/sign-verify/clu_verify.h" enum { RSA_SIGN, @@ -12,7 +10,7 @@ enum { }; byte* wolfCLU_generate_public_key(char* privKey, byte* outBuf, int* outBufSz) { - +#ifndef NO_RSA int ret; int privFileSz; word32 index = 0; @@ -65,6 +63,10 @@ byte* wolfCLU_generate_public_key(char* privKey, byte* outBuf, int* outBufSz) { } *outBufSz = ret; return outBuf; +#else + *outBufSz = NOT_COMPILED_IN; + return outBuf; +#endif } int wolfCLU_verify_signature(char* sig, char* out, char* keyPath, int keyType, int pubIn) { @@ -96,7 +98,8 @@ int wolfCLU_verify_signature(char* sig, char* out, char* keyPath, int keyType, i } int wolfCLU_verify_signature_rsa(byte* sig, char* out, int sigSz, char* keyPath, int pubIn) { - + +#ifndef NO_RSA int ret; int keyFileSz; word32 index = 0; @@ -154,26 +157,16 @@ int wolfCLU_verify_signature_rsa(byte* sig, char* out, int sigSz, char* keyPath, } return ret; +#else + printf("RSA is not compiled in.\n"); + return NOT_COMPILED_IN; +#endif } -int wolfCLU_sign_data_ecc(byte*, word32, byte*, word32, char*); +int wolfCLU_verify_signature_ecc(byte* sig, int sigSz, byte* hash, int hashSz, + char* keyPath) { + + return 0; +} int wolfCLU_sign_data_ed25519(byte*, word32, byte*, word32, char*); - -/* -working example -int main() { - FILE* f = fopen("./signature.txt", "rb"); - int f_Sz; - byte* data; - - fseek(f, 0, SEEK_END); - f_Sz = ftell(f); - data = malloc(f_Sz*sizeof(data)); - fseek(f, 0, SEEK_SET); - fread(data, 1, f_Sz, f); - fclose(f); - - wolfCLU_verify_signature_rsa(data, f_Sz, "./myrsakey2048.priv", 0); -} */ -