如何解决通过 openssl 命令生成的 ECC 密钥与 openssl api 不匹配
使用 openssl 命令工具生成密钥,用于将痛苦文本编码为密文。
`# openssl pkeyutl -derive -inkey alice_priv_key.pem -peerkey bob_pub_key.pem -out alice_shared_secret.bin`
# base64 alice_shared_secret.bin
生成的key是这个
**th1FJSGWJQ+X6SrEWfZhH2HXr/3maXkArolNFpNuk/c=**
我想使用 open ssl api 做同样的事情,并从 ecdh 函数中共享的链接中获取密钥生成逻辑。当我按照建议使用 ecdh 生成密钥时,计算出的密钥不同
`unsigned char *ecdh(size_t *secret_len)
{
[link]( https://wiki.openssl.org/index.PHP/Elliptic_Curve_Diffie_Hellman )
}
`int main()
{
size_t len = 0;
unsigned char * key = ecdh(&len);
int l= strlen((char *) key);
gchar * b64key = g_base64_encode ( key,l ) ;
printf("Base 64 encoded val %s",b64key);
}`
Base 64 编码的 val pzJYdMwjcjA32m2PMxJUmSLYCMotGU7Dr2JBqzqzS1w=
任何人都可以建议这里出了什么问题,基本上通过openssl命令和算法生成的密钥应该是相同的?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。