如何使用25519打开SSL 1.1.1 ECDH

时间:2018-05-15 13:17:52

标签: c openssl ecdh curve-25519

我需要使用openssl实现带有25519的ecdh。

使用:

 'nohup\302\240tar': command not found

失败。

使用:

key = EC_KEY_new_by_curve_name(NID_X25519)

似乎工作,但我不知道如何以未压缩的bin格式导出公钥。或如何导入对方公钥。

任何帮助?

1 个答案:

答案 0 :(得分:1)

可以使用EVP_PKEY_new_raw_public_key()函数从原始二进制格式导入另一方的公钥。手册页:

https://www.openssl.org/docs/man1.1.1/man3/EVP_PKEY_new_raw_public_key.html

以原始二进制格式导出公钥有点棘手,因为没有任何功能。您可以使用此处描述的i2d_PUBKEY()以SubjectPublicKeyInfo格式执行此操作:

https://www.openssl.org/docs/man1.1.1/man3/i2d_PUBKEY.html

幸运的是,SubjectPublicKeyInfo格式将原始公钥作为其输出的最后32个字节。所以你可以使用i2d_PUBKEY()并使用最后的32个字节。