将 ECDH 与 OpenSSL 结合使用

将 ECDH 与 OpenSSL 结合使用

有没有办法在命令行上使用 OpenSSL 生成、签名、验证和使用 ECDH 密钥?我对该实用程序提供的常规 Diffie-Hellman 功能有些熟悉,但我看不到有关椭圆曲线变体的任何信息。

答案1

对于签名,你需要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仅支持带有 ECDSA 的 SHA1;-pkeyopt digest:sha256仅接受 RSA 密钥。同时dgst似乎适用于所有摘要,但我对此不是 100% 确定。)

还有其他工具,例如ecdsa工具

如果您有基于 ECDSA 的 X.509证书,你会想要openssl cms

相关内容