return 0;
}
break;
+#endif
+#ifdef EVP_PKEY_EC
+ case EVP_PKEY_EC:
+ assert(pkey->pkey.ec != NULL);
+
+ if ( NULL == EC_KEY_get0_private_key(pkey->pkey.ec)) {
+ return 0;
+ }
+ break;
#endif
default:
php_error_docref(NULL TSRMLS_CC, E_WARNING, "key type not supported in this PHP build!");
--- /dev/null
+--TEST--\r
+Bug #66501: EC private key support in openssl_sign\r
+--SKIPIF--\r
+<?php \r
+if (!extension_loaded("openssl")) die("skip");\r
+--FILE--\r
+<?php\r
+$pkey = 'ASN1 OID: prime256v1\r
+-----BEGIN EC PARAMETERS-----\r
+BggqhkjOPQMBBw==\r
+-----END EC PARAMETERS-----\r
+-----BEGIN EC PRIVATE KEY-----\r
+MHcCAQEEILPkqoeyM7XgwYkuSj3077lrsrfWJK5LqMolv+m2oOjZoAoGCCqGSM49\r
+AwEHoUQDQgAEPq4hbIWHvB51rdWr8ejrjWo4qVNWVugYFtPg/xLQw0mHkIPZ4DvK\r
+sqOTOnMoezkbSmVVMuwz9flvnqHGmQvmug==\r
+-----END EC PRIVATE KEY-----';\r
+$key = openssl_pkey_get_private($pkey);\r
+$res = openssl_sign($data ='alpha', $sign, $key, 'ecdsa-with-SHA1');\r
+var_dump($res);\r
+--EXPECTF--\r
+bool(true)\r