¿Convertir NSData a String?

Estoy almacenando una clave privada openssl EVP_PKEY como nsdata. Para esto, estoy serializando en una secuencia de bytes usando el siguiente código

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

where pkey es de tipo EVP_PKEY. Luego estoy almacenando los bytes del búfer 'p' como un NSData usando la línea dada a continuación

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

Ahora lo estoy convirtiendo en un NSString usando el código que se muestra a continuación, pero cuando lo imprimo en la consola está dando algunos otros caracteres.

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

Podría alguien ayudarm

ásicamente quiero almacenar el EVP_PKEY en una base de datos sqlite

am estoy en el camino correcto? Gracias

Respuestas a la pregunta(6)

Su respuesta a la pregunta