diff --git a/library/pk.c b/library/pk.c
index 3755fbc..c5583c3 100644
--- a/library/pk.c
+++ b/library/pk.c
@@ -132,6 +132,42 @@
     return( 0 );
 }
 
+#if defined(POLARSSL_ECDSA_C)
+/*
+ * Convert generic EC context to ECDSA
+ */
+int pk_ec_to_ecdsa( pk_context *ctx )
+{
+    ecp_keypair *eckey;
+    ecdsa_context *ecdsa;
+
+    if( ctx->type == POLARSSL_PK_ECDSA )
+        return( 0 );
+
+    if( ctx->type != POLARSSL_PK_ECKEY )
+        return( POLARSSL_ERR_PK_TYPE_MISMATCH );
+
+    eckey = (ecp_keypair *) ctx->data;
+
+    if( ( ecdsa = polarssl_malloc( sizeof( ecdsa_context ) ) ) == NULL )
+        return( POLARSSL_ERR_PK_MALLOC_FAILED );
+
+    ecdsa_init( ecdsa );
+
+    /* struct ecdsa_context begins the same as struct ecp_keypair */
+    memcpy( ecdsa, eckey, sizeof( ecp_keypair ) );
+
+    if( ! ctx->dont_free )
+        polarssl_free( eckey );
+
+    ctx->dont_free = 0;
+    ctx->type = POLARSSL_PK_ECDSA;
+    ctx->data = ecdsa;
+
+    return( 0 );
+}
+#endif /* POLARSSL_ECDSA_C */
+
 #if defined(POLARSSL_RSA_C)
 /*
  * Wrap an RSA context in a PK context
