/* * test thingie for the pagerlib */ #include "../libs/micro-ecc/uECC.h" //#include "../include/oaes_lib.h" //#include "mbedtls_config.h" //#include "../libs/mbedtls-2.2.0/include/mbedtls/config.h" //#include "../libs/mbedtls-2.2.0/include/mbedtls/aes.h" //#include "../libs/mbedtls-2.2.0/library/aes.c" //#include #include #include #include #include //#include "packets.h" #include "../libs/pagerlib/pagerlib.h" #ifndef uECC_TEST_NUMBER_OF_ITERATIONS #define uECC_TEST_NUMBER_OF_ITERATIONS 1 #endif int main() { struct pl_keypair *kp; kp = NULL; char clear_message[] = "Blaat blaat, dit is een test berichtje :), en nog meer en meer en meer 123456744555 blablablablablablabal jajajajaj hee blaat "; // initialise the pager struct pl_ctx * context; context = pl_init(); int f = 0; while ( f < 2 ) { f++; /* create keypairs */ kp = pl_create_keypair(context); char *kp_b64, *decoded; // 4*(n/3) kp_b64 = malloc(4*(sizeof(struct pl_keypair) / 3)); decoded = malloc(sizeof(struct pl_keypair)); base64_encode(kp_b64, kp, sizeof(struct pl_keypair)); printf("base64 keypair: %s \n", kp_b64); base64_decode(decoded , kp_b64, (4*sizeof(struct pl_keypair) / 3)) ; pl_load_key_in_list(context, kp); // set key to use for sending the message (FIXME) context->kp = kp; // load the message to send memcpy(context->msg->msg, clear_message, MSG_SIZE); //to who to send the message to (get from kp) memcpy(&context->receiver_compressed_point, &kp->compressed_point, sizeof(context->receiver_compressed_point)); pl_send_message(context); printf("crypted msg: %s",context->msg->msg); /* receive the msg */ if ( pl_receive_message(context) == 1) { printf("failed to receive this message ! (exit 1) \n"); } else { printf("recv success! \n"); // printf(" Message! \n to: %u from: %u \n the decrypted message: %s \n", context->msg->address, compressed_point_to_addr(context->msg->sender_compressed_point), context->msg->msg); } /* DBG("\n sender.keypair"); DBM("sender", sizeof(struct pl_keypair), sender); DBM("receiver", sizeof(struct pl_keypair), receiver); DBM("context->kp (sender)", sizeof(struct pl_keypair), context->kp); DBM("context->kp->private_key (sender)", sizeof(context->kp->private_key), &context->kp->private_key); DBM("receiver->compressed",sizeof(receiver->compressed_point) , &receiver->compressed_point); DBM("context->receiver_compressed_point",sizeof(context->receiver_compressed_point) , &context->receiver_compressed_point); DBM("context->kp (receiver)", sizeof(struct pl_keypair), context->kp); DBM("context->kp->private_key (receiver)", sizeof(context->kp->private_key), &context->kp->private_key); */ context->kp = kp; if (pl_receive_message(context) == 1) { printf("OK: \n"); } else { printf("failed to receive this message ! (exit 1)"); } // pl_inbox_display_all(context); while (pl_inbox_next(context)) { pl_inbox_display(context); } while (pl_inbox_prev(context)) { pl_inbox_display(context); } while (pl_inbox_next(context) && context->inbox->prev != NULL && context->inbox->prev->id > 9) { pl_inbox_delete(context); } while (pl_inbox_prev(context)) { pl_inbox_display(context); } // pl_inbox_delete(context); pl_inbox_display(context); } return 0; }