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 );