Fix programs for recent ECDSA changes
diff --git a/programs/pkey/ecdsa.c b/programs/pkey/ecdsa.c
index 3d74978..c5ddab4 100644
--- a/programs/pkey/ecdsa.c
+++ b/programs/pkey/ecdsa.c
@@ -56,11 +56,11 @@
#define ECPARAMS ecp_curve_list()->grp_id
#endif
-#if !defined(POLARSSL_ECDSA_C) || \
+#if !defined(POLARSSL_ECDSA_C) || !defined(POLARSSL_SHA256_C) || \
!defined(POLARSSL_ENTROPY_C) || !defined(POLARSSL_CTR_DRBG_C)
int main( void )
{
- polarssl_printf("POLARSSL_ECDSA_C and/or "
+ polarssl_printf("POLARSSL_ECDSA_C and/or POLARSSL_SHA256_C and/or "
"POLARSSL_ENTROPY_C and/or POLARSSL_CTR_DRBG_C not defined\n");
return( 0 );
}
@@ -160,7 +160,7 @@
polarssl_printf( " . Signing message..." );
fflush( stdout );
- if( ( ret = ecdsa_write_signature( &ctx_sign,
+ if( ( ret = ecdsa_write_signature( &ctx_sign, POLARSSL_MD_SHA256,
hash, sizeof( hash ),
sig, &sig_len,
ctr_drbg_random, &ctr_drbg ) ) != 0 )
@@ -174,15 +174,6 @@
dump_buf( " + Signature: ", sig, sig_len );
/*
- * Signature is serialized as defined by RFC 4492 p. 20,
- * but one can also access 'r' and 's' directly from the context
- */
-#ifdef POLARSSL_FS_IO
- mpi_write_file( " r = ", &ctx_sign.r, 16, NULL );
- mpi_write_file( " s = ", &ctx_sign.s, 16, NULL );
-#endif
-
- /*
* Transfer public information to verifying context
*
* We could use the same context for verification and signatures, but we
diff --git a/programs/test/benchmark.c b/programs/test/benchmark.c
index 59239e1..a9cba6f 100644
--- a/programs/test/benchmark.c
+++ b/programs/test/benchmark.c
@@ -652,7 +652,7 @@
}
#endif
-#if defined(POLARSSL_ECDSA_C)
+#if defined(POLARSSL_ECDSA_C) && defined(POLARSSL_SHA256_C)
if( todo.ecdsa )
{
ecdsa_context ecdsa;
@@ -674,7 +674,7 @@
polarssl_snprintf( title, sizeof( title ), "ECDSA-%s",
curve_info->name );
TIME_PUBLIC( title, "sign",
- ret = ecdsa_write_signature( &ecdsa, buf, curve_info->size,
+ ret = ecdsa_write_signature( &ecdsa, POLARSSL_MD_SHA256, buf, curve_info->size,
tmp, &sig_len, myrand, NULL ) );
ecdsa_free( &ecdsa );
@@ -687,7 +687,7 @@
ecdsa_init( &ecdsa );
if( ecdsa_genkey( &ecdsa, curve_info->grp_id, myrand, NULL ) != 0 ||
- ecdsa_write_signature( &ecdsa, buf, curve_info->size,
+ ecdsa_write_signature( &ecdsa, POLARSSL_MD_SHA256, buf, curve_info->size,
tmp, &sig_len, myrand, NULL ) != 0 )
{
polarssl_exit( 1 );