通过 tcp 发送 rsa 密钥
Sending rsa keys over tcp
我正在尝试以这种方式通过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 表示数据中存在错误。 RSA_check_keys方法仅验证参数是否一致,而不是数据是否一定有效。崩溃等行为也可能与不良数据一致。
可能存在问题的几个地方:您实际上是否为缓冲区分配了空间?您是否检查read_bytes的长度以确保您收到的数据可能是 RSA 密钥?
相关文章:
- SSH通过/sbin/SSH无法读取RSA密钥文件(从控制台运行)
- 在加密++中使用RSA加密对称AES密钥
- C++生成 RSA 密钥对并读取
- 一代 RSA-2048 密钥(公钥和私钥)
- 每次使用 c++ 生成相同的 RSA 密钥
- Windows TPM 虚拟智能卡 RSA 密钥存储
- 如何在C++中使用Cryptolib加载puttygen RSA密钥
- 如何生成不同寻常但数学上有效的RSA密钥
- C++RSA使用XML密钥进行加密/解密
- 在 rjindael.cpp 中崩溃,使用 RSA 密钥时功能AESNI_Enc_Block
- OpenSSL:我使用存储外部文件的RSA密钥加密和解密文件,但有时我的程序会崩溃
- c ++ / RSA转换密钥
- OpenSSL:RSA加密/解密,密钥生成和密钥持久性
- 通过 tcp 发送 rsa 密钥
- 如何在没有 p、q 等的情况下加载 RSA 密钥对
- 如何在没有Openssl或其他库的情况下加载RSA密钥对
- 使用公钥的RSA加密.基于密钥的数据大小
- 用C/ c++生成的RSA OpenSSL密钥可以用PHP解密吗?
- 加密++ rsa密钥进入缓冲区
- 介绍如何打印OpenSSL RSA密钥的内容