-1
我在客戶端/服務器應用程序上使用openssl庫,我需要與客戶端共享公鑰。 這是包的結構:通過套接字發送RSA公鑰
typedef struct pack {
char op[10];
char message[1024];
int id;
}packet;
這是怎麼提取的公共密鑰,並把它在消息字段:
packet *send_pack
RSA *rsa,
const unsigned char *my_public_key;
my_public_key = malloc(1024);
send_pack = (packet*) malloc(sizeof (packet));
rsa = RSA_new();
rsa = RSA_generate_key(1024, 17, NULL, NULL);
i2d_RSAPublicKey(rsa, &my_public_key);
printf("my public key: %X\n", (unsigned int)my_public_key);
strcpy(send_pack->message, my_public_key);
printf("field message of send pack %X", (unsigned int)send_pack->message);
...
但兩人的printf打印兩個相似的價值,但不一樣的(例如,第一個printf返回A0B9092和第二個A0B944)。 有什麼問題?
有趣的是指出你還在打印鍵錯誤,你得到的回答昨日HTTP後:// stackoverflow.com/questions/12096825/print-on-stdout-rsa-public-key-using-openssl – cnicutar
ops,我貼了打印代碼的錯誤版本! – giozh