我需要使用openssl实现带有25519的ecdh。
使用:
'nohup\302\240tar': command not found
失败。
使用:
key = EC_KEY_new_by_curve_name(NID_X25519)
似乎工作,但我不知道如何以未压缩的bin格式导出公钥。或如何导入对方公钥。
任何帮助?
答案 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个字节。