Converter NSData para String?

Estou armazenando uma chave privada openssl EVP_PKEY como nsdata. Para isso, estou serializando em um fluxo de bytes usando o código abaixo

unsigned char *buf, *p;
int len;
len = i2d_PrivateKey(pkey, NULL);
buf = OPENSSL_malloc(len); 
p = buf;
i2d_PrivateKey(pkey, &p);

where pkey é do tipo EVP_PKEY. Então, estou armazenando os bytes do buffer 'p' como um NSData usando a linha fornecida abaixo

NSData *keydata = [NSData dataWithBytes:P length:len];

gora estou convertendo-o para um NSString usando o código fornecido abaixo, mas quando imprimo no console está dando alguns outros caractere

NSString *content =[ NSString stringWithCString:[keydata bytes] encoding:NSUTF8StringEncoding];

lguém poderia ajudar?

Basicamente, eu quero armazenar o EVP_PKEY em um banco de dados sqlite

Estou no caminho certo? Obrigado

questionAnswers(6)

yourAnswerToTheQuestion