mbed TLS Build

Dependents:   Slave-prot-prod

Committer:
williequesada
Date:
Tue Jun 04 16:03:38 2019 +0000
Revision:
1:1a219dea6cb5
Parent:
0:cdf462088d13
compartir a Pablo

Who changed what in which revision?

UserRevisionLine numberNew contents of line
markrad 0:cdf462088d13 1 /* BEGIN_HEADER */
markrad 0:cdf462088d13 2 #include "mbedtls/base64.h"
markrad 0:cdf462088d13 3 /* END_HEADER */
markrad 0:cdf462088d13 4
markrad 0:cdf462088d13 5 /* BEGIN_DEPENDENCIES
markrad 0:cdf462088d13 6 * depends_on:MBEDTLS_BASE64_C
markrad 0:cdf462088d13 7 * END_DEPENDENCIES
markrad 0:cdf462088d13 8 */
markrad 0:cdf462088d13 9
markrad 0:cdf462088d13 10 /* BEGIN_CASE */
markrad 0:cdf462088d13 11 void mbedtls_base64_encode( char *src_string, char *dst_string, int dst_buf_size,
markrad 0:cdf462088d13 12 int result )
markrad 0:cdf462088d13 13 {
markrad 0:cdf462088d13 14 unsigned char src_str[1000];
markrad 0:cdf462088d13 15 unsigned char dst_str[1000];
markrad 0:cdf462088d13 16 size_t len;
markrad 0:cdf462088d13 17
markrad 0:cdf462088d13 18 memset(src_str, 0x00, 1000);
markrad 0:cdf462088d13 19 memset(dst_str, 0x00, 1000);
markrad 0:cdf462088d13 20
markrad 0:cdf462088d13 21 strncpy( (char *) src_str, src_string, sizeof(src_str) - 1 );
markrad 0:cdf462088d13 22 TEST_ASSERT( mbedtls_base64_encode( dst_str, dst_buf_size, &len, src_str, strlen( (char *) src_str ) ) == result );
markrad 0:cdf462088d13 23 if( result == 0 )
markrad 0:cdf462088d13 24 {
markrad 0:cdf462088d13 25 TEST_ASSERT( strcmp( (char *) dst_str, dst_string ) == 0 );
markrad 0:cdf462088d13 26 }
markrad 0:cdf462088d13 27 }
markrad 0:cdf462088d13 28 /* END_CASE */
markrad 0:cdf462088d13 29
markrad 0:cdf462088d13 30 /* BEGIN_CASE */
markrad 0:cdf462088d13 31 void mbedtls_base64_decode( char *src_string, char *dst_string, int result )
markrad 0:cdf462088d13 32 {
markrad 0:cdf462088d13 33 unsigned char src_str[1000];
markrad 0:cdf462088d13 34 unsigned char dst_str[1000];
markrad 0:cdf462088d13 35 size_t len;
markrad 0:cdf462088d13 36 int res;
markrad 0:cdf462088d13 37
markrad 0:cdf462088d13 38 memset(src_str, 0x00, 1000);
markrad 0:cdf462088d13 39 memset(dst_str, 0x00, 1000);
markrad 0:cdf462088d13 40
markrad 0:cdf462088d13 41 strncpy( (char *) src_str, src_string, sizeof(src_str) - 1 );
markrad 0:cdf462088d13 42 res = mbedtls_base64_decode( dst_str, sizeof( dst_str ), &len, src_str, strlen( (char *) src_str ) );
markrad 0:cdf462088d13 43 TEST_ASSERT( res == result );
markrad 0:cdf462088d13 44 if( result == 0 )
markrad 0:cdf462088d13 45 {
markrad 0:cdf462088d13 46 TEST_ASSERT( strcmp( (char *) dst_str, dst_string ) == 0 );
markrad 0:cdf462088d13 47 }
markrad 0:cdf462088d13 48 }
markrad 0:cdf462088d13 49 /* END_CASE */
markrad 0:cdf462088d13 50
markrad 0:cdf462088d13 51 /* BEGIN_CASE */
markrad 0:cdf462088d13 52 void base64_encode_hex( char *src_hex, char *dst, int dst_buf_size,
markrad 0:cdf462088d13 53 int result )
markrad 0:cdf462088d13 54 {
markrad 0:cdf462088d13 55 unsigned char *src = NULL, *res = NULL;
markrad 0:cdf462088d13 56 size_t len, src_len;
markrad 0:cdf462088d13 57
markrad 0:cdf462088d13 58 src = unhexify_alloc( src_hex, &src_len );
markrad 0:cdf462088d13 59 res = zero_alloc( dst_buf_size );
markrad 0:cdf462088d13 60
markrad 0:cdf462088d13 61 TEST_ASSERT( mbedtls_base64_encode( res, dst_buf_size, &len, src, src_len ) == result );
markrad 0:cdf462088d13 62 if( result == 0 )
markrad 0:cdf462088d13 63 {
markrad 0:cdf462088d13 64 TEST_ASSERT( len == strlen( dst ) );
markrad 0:cdf462088d13 65 TEST_ASSERT( memcmp( dst, res, len ) == 0 );
markrad 0:cdf462088d13 66 }
markrad 0:cdf462088d13 67
markrad 0:cdf462088d13 68 exit:
markrad 0:cdf462088d13 69 mbedtls_free( src );
markrad 0:cdf462088d13 70 mbedtls_free( res );
markrad 0:cdf462088d13 71 }
markrad 0:cdf462088d13 72 /* END_CASE */
markrad 0:cdf462088d13 73
markrad 0:cdf462088d13 74 /* BEGIN_CASE */
markrad 0:cdf462088d13 75 void base64_decode_hex( char *src, char *dst_hex, int dst_buf_size,
markrad 0:cdf462088d13 76 int result )
markrad 0:cdf462088d13 77 {
markrad 0:cdf462088d13 78 unsigned char *dst = NULL, *res = NULL;
markrad 0:cdf462088d13 79 size_t len, dst_len;
markrad 0:cdf462088d13 80
markrad 0:cdf462088d13 81 dst = unhexify_alloc( dst_hex, &dst_len );
markrad 0:cdf462088d13 82 res = zero_alloc( dst_buf_size );
markrad 0:cdf462088d13 83
markrad 0:cdf462088d13 84 TEST_ASSERT( mbedtls_base64_decode( res, dst_buf_size, &len, (unsigned char *) src,
markrad 0:cdf462088d13 85 strlen( src ) ) == result );
markrad 0:cdf462088d13 86 if( result == 0 )
markrad 0:cdf462088d13 87 {
markrad 0:cdf462088d13 88 TEST_ASSERT( len == dst_len );
markrad 0:cdf462088d13 89 TEST_ASSERT( memcmp( dst, res, len ) == 0 );
markrad 0:cdf462088d13 90 }
markrad 0:cdf462088d13 91
markrad 0:cdf462088d13 92 exit:
markrad 0:cdf462088d13 93 mbedtls_free( dst );
markrad 0:cdf462088d13 94 mbedtls_free( res );
markrad 0:cdf462088d13 95 }
markrad 0:cdf462088d13 96 /* END_CASE */
markrad 0:cdf462088d13 97
markrad 0:cdf462088d13 98 /* BEGIN_CASE */
markrad 0:cdf462088d13 99 void base64_decode_hex_src( char *src_hex, char *dst_ref, int result )
markrad 0:cdf462088d13 100 {
markrad 0:cdf462088d13 101 unsigned char dst[1000] = { 0 };
markrad 0:cdf462088d13 102 unsigned char *src;
markrad 0:cdf462088d13 103 size_t src_len, len;
markrad 0:cdf462088d13 104
markrad 0:cdf462088d13 105 src = unhexify_alloc( src_hex, &src_len );
markrad 0:cdf462088d13 106
markrad 0:cdf462088d13 107 TEST_ASSERT( mbedtls_base64_decode( dst, sizeof( dst ), &len, src, src_len ) == result );
markrad 0:cdf462088d13 108 if( result == 0 )
markrad 0:cdf462088d13 109 {
markrad 0:cdf462088d13 110 TEST_ASSERT( len == strlen( dst_ref ) );
markrad 0:cdf462088d13 111 TEST_ASSERT( memcmp( dst, dst_ref, len ) == 0 );
markrad 0:cdf462088d13 112 }
markrad 0:cdf462088d13 113
markrad 0:cdf462088d13 114 exit:
markrad 0:cdf462088d13 115 mbedtls_free( src );
markrad 0:cdf462088d13 116 }
markrad 0:cdf462088d13 117 /* END_CASE */
markrad 0:cdf462088d13 118
markrad 0:cdf462088d13 119 /* BEGIN_CASE depends_on:MBEDTLS_SELF_TEST */
markrad 0:cdf462088d13 120 void base64_selftest()
markrad 0:cdf462088d13 121 {
markrad 0:cdf462088d13 122 TEST_ASSERT( mbedtls_base64_self_test( 1 ) == 0 );
markrad 0:cdf462088d13 123 }
markrad 0:cdf462088d13 124 /* END_CASE */