Adapt debug_print_crt() for EC keys
diff --git a/library/debug.c b/library/debug.c
index 23b9019..b6babe6 100644
--- a/library/debug.c
+++ b/library/debug.c
@@ -250,11 +250,27 @@
         str[maxlen] = '\0';
         ssl->f_dbg( ssl->p_dbg, level, str );
 
-        debug_print_mpi( ssl, level, file, line,
-                         "crt->rsa.N", &crt->rsa.N );
+        switch( crt->pk.type )
+        {
+            case POLARSSL_PK_NONE:
+            case POLARSSL_PK_ECDSA:
+                debug_print_msg( ssl, level, file, line,
+                        "crt->pk.type is not valid" );
+                break;
 
-        debug_print_mpi( ssl, level, file, line,
-                         "crt->rsa.E", &crt->rsa.E );
+            case POLARSSL_PK_RSA:
+                debug_print_mpi( ssl, level, file, line,
+                        "crt->rsa.N", &pk_rsa( crt->pk )->N );
+                debug_print_mpi( ssl, level, file, line,
+                        "crt->rsa.E", &pk_rsa( crt->pk )->E );
+                break;
+
+            case POLARSSL_PK_ECKEY:
+            case POLARSSL_PK_ECKEY_DH:
+                debug_print_ecp( ssl, level, file, line,
+                        "crt->eckey.Q", &pk_ec( crt->pk )->Q );
+                break;
+        }
 
         crt = crt->next;
     }