Есть ли способ генерировать, подписывать, проверять и использовать ключи ECDH с OpenSSL в командной строке? Я немного знаком с обычными средствами Диффи-Хеллмана, которые предоставляет утилита, но я ничего не вижу в варианте эллиптической кривой.
1 ответ
0
Для подписей вам понадобится ECDSA, а не ECDH - последний является алгоритмом обмена ключами , который в основном используется для шифрования.
Есть openssl dgst -sign
:
openssl dgst -sha256 -sign <priv_key_file> -out <sig_file> <data_file>
Там также openssl pkeyutl
:
openssl pkeyutl -sign -in <data_file> -inkey <priv_key_file> -out <sig_file>
(Обратите внимание, что pkeyutl
поддерживает только SHA1 с ECDSA; -pkeyopt digest:sha256
принимается только с ключами RSA. Между тем, похоже, что dgst
работает со всеми дайджестами, но я не уверен на 100%.)
Существуют и другие инструменты, такие как ecdsatool.
Если у вас есть сертификат X.509 на основе ECDSA, вам понадобится openssl cms
.