Implement x509parse_key_pkcs8_encrypted_der_ec()
diff --git a/library/x509parse.c b/library/x509parse.c
index caf59c4..b231f80 100644
--- a/library/x509parse.c
+++ b/library/x509parse.c
@@ -2815,25 +2815,20 @@
  */
 static int x509parse_key_pkcs8_encrypted_der_ec(
                                     ecp_keypair *eck,
-                                    const unsigned char *key,
-                                    size_t keylen,
-                                    const unsigned char *pwd,
-                                    size_t pwdlen )
+                                    const unsigned char *key, size_t keylen,
+                                    const unsigned char *pwd, size_t pwdlen )
 {
     int ret;
+    unsigned char buf[2048];
+    size_t len = 0;
 
-    (void) key;
-    (void) keylen;
-    (void) pwd;
-    (void) pwdlen;
-
-    if( ( ret = ecp_check_prvkey( &eck->grp, &eck->d ) ) != 0 )
+    if( ( ret = x509parse_pkcs8_decrypt( buf, sizeof( buf ), &len,
+            key, keylen, pwd, pwdlen ) ) != 0 )
     {
-        ecp_keypair_free( eck );
         return( ret );
     }
 
-    return 0;
+    return( x509parse_key_pkcs8_unencrypted_der_ec( eck, buf, len ) );
 }
 
 /*