programs: psa: Remove dependency on platform.h
platform.h should only be used internally by the library implementation
itself, not the examples. Remove the dependency on platform.h from all
PSA programs.
diff --git a/programs/psa/crypto_examples.c b/programs/psa/crypto_examples.c
index 0908756..2f7c445 100644
--- a/programs/psa/crypto_examples.c
+++ b/programs/psa/crypto_examples.c
@@ -1,23 +1,15 @@
#include "psa/crypto.h"
#include <string.h>
-
-#if defined(MBEDTLS_PLATFORM_C)
-#include "mbedtls/platform.h"
-#else
#include <stdio.h>
#include <stdlib.h>
-#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE
-#define mbedtls_printf printf
-#define mbedtls_exit exit
-#endif
#define ASSERT( predicate ) \
do \
{ \
if( ! ( predicate ) ) \
{ \
- mbedtls_printf( "\tassertion failed at %s:%d - '%s'\r\n", \
- __FILE__, __LINE__, #predicate); \
+ printf( "\tassertion failed at %s:%d - '%s'\r\n", \
+ __FILE__, __LINE__, #predicate); \
goto exit; \
} \
} while ( 0 )
@@ -27,8 +19,8 @@
{ \
if( ( actual ) != ( expected ) ) \
{ \
- mbedtls_printf( "\tassertion failed at %s:%d - " \
- "actual:%d expected:%d\r\n", __FILE__, __LINE__, \
+ printf( "\tassertion failed at %s:%d - " \
+ "actual:%d expected:%d\r\n", __FILE__, __LINE__, \
(psa_status_t) actual, (psa_status_t) expected ); \
goto exit; \
} \
@@ -39,10 +31,10 @@
!defined(MBEDTLS_CIPHER_MODE_WITH_PADDING)
int main( void )
{
- mbedtls_printf( "MBEDTLS_PSA_CRYPTO_C and/or MBEDTLS_AES_C and/or "
- "MBEDTLS_CIPHER_MODE_CBC and/or MBEDTLS_CIPHER_MODE_CTR "
- "and/or MBEDTLS_CIPHER_MODE_WITH_PADDING "
- "not defined.\r\n" );
+ printf( "MBEDTLS_PSA_CRYPTO_C and/or MBEDTLS_AES_C and/or "
+ "MBEDTLS_CIPHER_MODE_CBC and/or MBEDTLS_CIPHER_MODE_CTR "
+ "and/or MBEDTLS_CIPHER_MODE_WITH_PADDING "
+ "not defined.\r\n" );
return( 0 );
}
#else
@@ -311,20 +303,20 @@
{
psa_status_t status;
- mbedtls_printf( "cipher encrypt/decrypt AES CBC no padding:\r\n" );
+ printf( "cipher encrypt/decrypt AES CBC no padding:\r\n" );
status = cipher_example_encrypt_decrypt_aes_cbc_nopad_1_block( );
if( status == PSA_SUCCESS )
- mbedtls_printf( "\tsuccess!\r\n" );
+ printf( "\tsuccess!\r\n" );
- mbedtls_printf( "cipher encrypt/decrypt AES CBC PKCS7 multipart:\r\n" );
+ printf( "cipher encrypt/decrypt AES CBC PKCS7 multipart:\r\n" );
status = cipher_example_encrypt_decrypt_aes_cbc_pkcs7_multi( );
if( status == PSA_SUCCESS )
- mbedtls_printf( "\tsuccess!\r\n" );
+ printf( "\tsuccess!\r\n" );
- mbedtls_printf( "cipher encrypt/decrypt AES CTR multipart:\r\n" );
+ printf( "cipher encrypt/decrypt AES CTR multipart:\r\n" );
status = cipher_example_encrypt_decrypt_aes_ctr_multi( );
if( status == PSA_SUCCESS )
- mbedtls_printf( "\tsuccess!\r\n" );
+ printf( "\tsuccess!\r\n" );
}
#if defined(MBEDTLS_CHECK_PARAMS)
@@ -333,9 +325,9 @@
const char *file,
int line )
{
- mbedtls_printf( "%s:%i: Input param failed - %s\n",
+ printf( "%s:%i: Input param failed - %s\n",
file, line, failure_condition );
- mbedtls_exit( MBEDTLS_EXIT_FAILURE );
+ exit( EXIT_FAILURE );
}
#endif
diff --git a/programs/psa/key_ladder_demo.c b/programs/psa/key_ladder_demo.c
index c9d7676..23c2347 100644
--- a/programs/psa/key_ladder_demo.c
+++ b/programs/psa/key_ladder_demo.c
@@ -57,17 +57,7 @@
#include MBEDTLS_CONFIG_FILE
#endif
-#if defined(MBEDTLS_PLATFORM_C)
-#include "mbedtls/platform.h"
-#else
#include <stdlib.h>
-#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS
-#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE
-#define mbedtls_calloc calloc
-#define mbedtls_free free
-#define mbedtls_printf printf
-#define mbedtls_exit exit
-#endif
#include <stdio.h>
#include <string.h>
@@ -79,9 +69,9 @@
!defined(MBEDTLS_PSA_CRYPTO_C) || !defined(MBEDTLS_FS_IO)
int main( void )
{
- mbedtls_printf("MBEDTLS_SHA256_C and/or MBEDTLS_MD_C and/or "
- "MBEDTLS_AES_C and/or MBEDTLS_CCM_C and/or "
- "MBEDTLS_PSA_CRYPTO_C and/or MBEDTLS_FS_IO not defined.\n");
+ printf("MBEDTLS_SHA256_C and/or MBEDTLS_MD_C and/or "
+ "MBEDTLS_AES_C and/or MBEDTLS_CCM_C and/or "
+ "MBEDTLS_PSA_CRYPTO_C and/or MBEDTLS_FS_IO not defined.\n");
return( 0 );
}
#else
@@ -112,10 +102,10 @@
status = ( expr ); \
if( status != PSA_SUCCESS ) \
{ \
- mbedtls_printf( "Error %d at line %u: %s\n", \
- (int) status, \
- __LINE__, \
- #expr ); \
+ printf( "Error %d at line %u: %s\n", \
+ (int) status, \
+ __LINE__, \
+ #expr ); \
goto exit; \
} \
} \
@@ -254,8 +244,8 @@
key_file ) ) != 0 );
if( fread( &extra_byte, 1, 1, key_file ) != 0 )
{
- mbedtls_printf( "Key file too large (max: %u).\n",
- (unsigned) sizeof( key_data ) );
+ printf( "Key file too large (max: %u).\n",
+ (unsigned) sizeof( key_data ) );
status = DEMO_ERROR;
goto exit;
}
@@ -395,7 +385,7 @@
#if LONG_MAX > SIZE_MAX
if( input_position > SIZE_MAX )
{
- mbedtls_printf( "Input file too large.\n" );
+ printf( "Input file too large.\n" );
status = DEMO_ERROR;
goto exit;
}
@@ -405,14 +395,14 @@
/* Check for integer overflow. */
if( buffer_size < input_size )
{
- mbedtls_printf( "Input file too large.\n" );
+ printf( "Input file too large.\n" );
status = DEMO_ERROR;
goto exit;
}
/* Load the data to wrap. */
SYS_CHECK( fseek( input_file, 0, SEEK_SET ) == 0 );
- SYS_CHECK( ( buffer = mbedtls_calloc( 1, buffer_size ) ) != NULL );
+ SYS_CHECK( ( buffer = calloc( 1, buffer_size ) ) != NULL );
SYS_CHECK( fread( buffer, 1, input_size, input_file ) == input_size );
SYS_CHECK( fclose( input_file ) == 0 );
input_file = NULL;
@@ -447,7 +437,7 @@
fclose( output_file );
if( buffer != NULL )
mbedtls_platform_zeroize( buffer, buffer_size );
- mbedtls_free( buffer );
+ free( buffer );
return( status );
}
@@ -471,13 +461,13 @@
if( memcmp( &header.magic, WRAPPED_DATA_MAGIC,
WRAPPED_DATA_MAGIC_LENGTH ) != 0 )
{
- mbedtls_printf( "The input does not start with a valid magic header.\n" );
+ printf( "The input does not start with a valid magic header.\n" );
status = DEMO_ERROR;
goto exit;
}
if( header.ad_size != sizeof( header ) )
{
- mbedtls_printf( "The header size is not correct.\n" );
+ printf( "The header size is not correct.\n" );
status = DEMO_ERROR;
goto exit;
}
@@ -486,18 +476,18 @@
/* Check for integer overflow. */
if( ciphertext_size < header.payload_size )
{
- mbedtls_printf( "Input file too large.\n" );
+ printf( "Input file too large.\n" );
status = DEMO_ERROR;
goto exit;
}
/* Load the payload data. */
- SYS_CHECK( ( buffer = mbedtls_calloc( 1, ciphertext_size ) ) != NULL );
+ SYS_CHECK( ( buffer = calloc( 1, ciphertext_size ) ) != NULL );
SYS_CHECK( fread( buffer, 1, ciphertext_size,
input_file ) == ciphertext_size );
if( fread( &extra_byte, 1, 1, input_file ) != 0 )
{
- mbedtls_printf( "Extra garbage after ciphertext\n" );
+ printf( "Extra garbage after ciphertext\n" );
status = DEMO_ERROR;
goto exit;
}
@@ -513,7 +503,7 @@
&plaintext_size ) );
if( plaintext_size != header.payload_size )
{
- mbedtls_printf( "Incorrect payload size in the header.\n" );
+ printf( "Incorrect payload size in the header.\n" );
status = DEMO_ERROR;
goto exit;
}
@@ -532,7 +522,7 @@
fclose( output_file );
if( buffer != NULL )
mbedtls_platform_zeroize( buffer, ciphertext_size );
- mbedtls_free( buffer );
+ free( buffer );
return( status );
}
@@ -600,23 +590,23 @@
static void usage( void )
{
- mbedtls_printf( "Usage: key_ladder_demo MODE [OPTION=VALUE]...\n" );
- mbedtls_printf( "Demonstrate the usage of a key derivation ladder.\n" );
- mbedtls_printf( "\n" );
- mbedtls_printf( "Modes:\n" );
- mbedtls_printf( " generate Generate the master key\n" );
- mbedtls_printf( " save Save the derived key\n" );
- mbedtls_printf( " unwrap Unwrap (decrypt) input with the derived key\n" );
- mbedtls_printf( " wrap Wrap (encrypt) input with the derived key\n" );
- mbedtls_printf( "\n" );
- mbedtls_printf( "Options:\n" );
- mbedtls_printf( " input=FILENAME Input file (required for wrap/unwrap)\n" );
- mbedtls_printf( " master=FILENAME File containing the master key (default: master.key)\n" );
- mbedtls_printf( " output=FILENAME Output file (required for save/wrap/unwrap)\n" );
- mbedtls_printf( " label=TEXT Label for the key derivation.\n" );
- mbedtls_printf( " This may be repeated multiple times.\n" );
- mbedtls_printf( " To get the same key, you must use the same master key\n" );
- mbedtls_printf( " and the same sequence of labels.\n" );
+ printf( "Usage: key_ladder_demo MODE [OPTION=VALUE]...\n" );
+ printf( "Demonstrate the usage of a key derivation ladder.\n" );
+ printf( "\n" );
+ printf( "Modes:\n" );
+ printf( " generate Generate the master key\n" );
+ printf( " save Save the derived key\n" );
+ printf( " unwrap Unwrap (decrypt) input with the derived key\n" );
+ printf( " wrap Wrap (encrypt) input with the derived key\n" );
+ printf( "\n" );
+ printf( "Options:\n" );
+ printf( " input=FILENAME Input file (required for wrap/unwrap)\n" );
+ printf( " master=FILENAME File containing the master key (default: master.key)\n" );
+ printf( " output=FILENAME Output file (required for save/wrap/unwrap)\n" );
+ printf( " label=TEXT Label for the key derivation.\n" );
+ printf( " This may be repeated multiple times.\n" );
+ printf( " To get the same key, you must use the same master key\n" );
+ printf( " and the same sequence of labels.\n" );
}
#if defined(MBEDTLS_CHECK_PARAMS)
@@ -625,9 +615,9 @@
const char *file,
int line )
{
- mbedtls_printf( "%s:%i: Input param failed - %s\n",
+ printf( "%s:%i: Input param failed - %s\n",
file, line, failure_condition );
- mbedtls_exit( MBEDTLS_EXIT_FAILURE );
+ exit( EXIT_FAILURE );
}
#endif
@@ -648,7 +638,7 @@
strcmp( argv[1], "--help" ) == 0 )
{
usage( );
- return( MBEDTLS_EXIT_SUCCESS );
+ return( EXIT_SUCCESS );
}
for( i = 2; i < argc; i++ )
@@ -656,7 +646,7 @@
char *q = strchr( argv[i], '=' );
if( q == NULL )
{
- mbedtls_printf( "Missing argument to option %s\n", argv[i] );
+ printf( "Missing argument to option %s\n", argv[i] );
goto usage_failure;
}
*q = 0;
@@ -667,9 +657,9 @@
{
if( ladder_depth == MAX_LADDER_DEPTH )
{
- mbedtls_printf( "Maximum ladder depth %u exceeded.\n",
+ printf( "Maximum ladder depth %u exceeded.\n",
(unsigned) MAX_LADDER_DEPTH );
- return( MBEDTLS_EXIT_FAILURE );
+ return( EXIT_FAILURE );
}
ladder[ladder_depth] = q;
++ladder_depth;
@@ -680,7 +670,7 @@
output_file_name = q;
else
{
- mbedtls_printf( "Unknown option: %s\n", argv[i] );
+ printf( "Unknown option: %s\n", argv[i] );
goto usage_failure;
}
}
@@ -695,20 +685,20 @@
mode = MODE_WRAP;
else
{
- mbedtls_printf( "Unknown action: %s\n", argv[1] );
+ printf( "Unknown action: %s\n", argv[1] );
goto usage_failure;
}
if( input_file_name == NULL &&
( mode == MODE_WRAP || mode == MODE_UNWRAP ) )
{
- mbedtls_printf( "Required argument missing: input\n" );
+ printf( "Required argument missing: input\n" );
return( DEMO_ERROR );
}
if( output_file_name == NULL &&
( mode == MODE_SAVE || mode == MODE_WRAP || mode == MODE_UNWRAP ) )
{
- mbedtls_printf( "Required argument missing: output\n" );
+ printf( "Required argument missing: output\n" );
return( DEMO_ERROR );
}
@@ -716,11 +706,11 @@
ladder, ladder_depth,
input_file_name, output_file_name );
return( status == PSA_SUCCESS ?
- MBEDTLS_EXIT_SUCCESS :
- MBEDTLS_EXIT_FAILURE );
+ EXIT_SUCCESS :
+ EXIT_FAILURE );
usage_failure:
usage( );
- return( MBEDTLS_EXIT_FAILURE );
+ return( EXIT_FAILURE );
}
#endif /* MBEDTLS_SHA256_C && MBEDTLS_MD_C && MBEDTLS_AES_C && MBEDTLS_CCM_C && MBEDTLS_PSA_CRYPTO_C && MBEDTLS_FS_IO */