【发布时间】:2012-04-23 05:34:05
【问题描述】:
我正在尝试以这种方式通过 tcp 连接发送 rsa 密钥 (RSA *myrsa):
send(client, (char *)myrsa, sizeof(RSA), 0);
而收件人:
read_bytes = tcpSocket.read(buffer, sizeof(RSA));
RSA *myrsa = RSA_new();
memcpy((void*)myrsa, (void*)buffer, read_bytes);
然后 RSA_check_key(rsa) 返回 -1 或使程序崩溃。 我做错了什么?也许它存在更合适的解决方案?也许行消息被任何转换破坏了?
【问题讨论】:
-
1) 为什么要明文发送加密材料? 2) read_bytes 是预期值吗?
-
@zmccord:公钥加密的全部意义(或者说最重要的一点)是它允许您在不影响安全性的情况下以明文形式发送密钥。
-
@zmccord:是的,read_bytes 应该是 168 字节;
标签: c++ qt sockets openssl rsa