Para assinaturas, você precisaria ECDSA, não ECDH - o último é uma troca de chaves algoritmo, usado principalmente para criptografia.
Há openssl dgst -sign :
openssl dgst -sha256 -sign <priv_key_file> -out <sig_file> <data_file>
Há também openssl pkeyutl :
openssl pkeyutl -sign -in <data_file> -inkey <priv_key_file> -out <sig_file>
(Observe que pkeyutl suporta apenas SHA1 com ECDSA; -pkeyopt digest:sha256 só é aceito com chaves RSA. Enquanto isso, dgst parece funcionar com todos os resumos, mas não tenho 100% de certeza sobre isso.)
Existem outras ferramentas, como o ecdsatool .
Se você tiver um certificado X.509 baseado em ECDSA , você deve querer openssl cms .