【发布时间】:2009-12-02 16:37:29
【问题描述】:
我有以下代码:
#include <openssl/bn.h>
#include <openssl/rsa.h>
unsigned char* key;
RSA* rsa = RSA_new();
rsa = RSA_generate_key(1024,65537,NULL,NULL);
//init pubkey
key[BN_num_bytes(rsa->n)] = '\0';
BN_bn2bin(rsa->n, key);
printf("RSA Pub: %s\n", key);
RSA_free( rsa );
rsa = NULL;
调试器告诉我有一个问题“访问冲突写入位置”在线
key[BN_num_bytes(rsa->n)] = '\0';
如果我注释掉那一行,问题就会向下移动到
BN_bn2bin(rsa->n, key);
任何有关如何解决此问题的建议都会很棒。
【问题讨论】:
-
键是一个指针,你想给它分配一些内存吗?如果是这样 key = new char[100]; //一些缓冲区