gpt4 book ai didi

c - 如何使用 25519 打开 SSL 1.1.1 ECDH

转载 作者:行者123 更新时间:2023-11-30 14:48:32 24 4
gpt4 key购买 nike

我需要使用 openssl 实现 ecdh 和 25519。

使用:

key = EC_KEY_new_by_curve_name(NID_X25519)

失败。

使用这个:

EVP_PKEY *pkey = NULL;
EVP_PKEY_CTX *pctx = EVP_PKEY_CTX_new_id(NID_X25519, NULL);
EVP_PKEY_keygen_init(pctx);
EVP_PKEY_keygen(pctx, &pkey);

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

有什么帮助吗?

最佳答案

可以使用 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 个字节。

关于c - 如何使用 25519 打开 SSL 1.1.1 ECDH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50351287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com