问题描述
使用 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 (将#修改为@)