diff --git a/include/polarssl/pk.h b/include/polarssl/pk.h
index f06ec68..a2d166f 100644
--- a/include/polarssl/pk.h
+++ b/include/polarssl/pk.h
@@ -89,6 +89,9 @@
     /** Public key type */
     pk_type_t type;
 
+    /** Tell if the context implements this type (eg ECKEY can do ECDSA) */
+    int (*can_do)( pk_type_t type );
+
     /** Verify signature */
     int (*verify_func)( void *ctx,
                         const unsigned char *hash, const md_info_t *md_info,
@@ -131,33 +134,6 @@
  */
 int pk_set_type( pk_context *ctx, pk_type_t type );
 
-#if defined(POLARSSL_ECDSA_C)
-/**
- * \brief           Convert a generic EC key into an ECDSA context
- *
- * \param ctx       Context to convert
- *
- * \return          0 on success, or
- *                  POLARSSL_ERR_PK_MALLOC_FAILED or
- *                  POLARSSL_ERR_PK_TYPE_MISMATCH.
- */
-int pk_ec_to_ecdsa( pk_context *ctx );
-
-/**
- * \brief           Tell if a PK context can be used for ECDSA
- *
- * \param ctx       Context to check
- *
- * \return          0 if context cannot be used for ECDSA,
- *                  1 otherwise
- */
-static inline int pk_can_ecdsa( pk_context ctx )
-{
-    return( ctx.type == POLARSSL_PK_ECKEY ||
-            ctx.type == POLARSSL_PK_ECDSA );
-}
-#endif /* POLARSSL_ECDSA_C */
-
 #if defined(POLARSSL_RSA_C)
 /**
  * \brief           Wrap a RSA context in a PK context
