mbed TLS Build
Dependents: Encypting_Funcional
tests/suites/test_suite_base64.function@0:cdf462088d13, 2017-01-05 (annotated)
- Committer:
- markrad
- Date:
- Thu Jan 05 00:18:44 2017 +0000
- Revision:
- 0:cdf462088d13
Initial commit
Who changed what in which revision?
User | Revision | Line number | New 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 */ |