Estoy almacenando una clave privada EVP_PKEY de openssl como nsdata. Para esto, estoy serializando en un flujo 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);
donde pkey es de tipo EVP_PKEY. Luego estoy almacenando los bytes del búfer 'p' como NSData usando la línea que se muestra a continuación
NSData *keydata = [NSData dataWithBytes:P length:len];
Ahora lo estoy convirtiendo en un NSString usando el código que se proporciona a continuación, pero cuando lo imprimo en la consola, me da algunos otros caracteres.
NSString *content =[ NSString stringWithCString:[keydata bytes] encoding:NSUTF8StringEncoding];
¿Alguien podría ayudar?
Básicamente, quiero almacenar EVP_PKEY en una base de datos sqlite
estoy en el camino correcto? Gracias.
NSData
formato NSString
.