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
.