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);
onde 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];
Agora estou convertendo-o para um NSString usando o código fornecido abaixo, mas quando imprimo no console está dando alguns outros caracteres.
NSString *content =[ NSString stringWithCString:[keydata bytes] encoding:NSUTF8StringEncoding];
Alguém poderia ajudar?
Basicamente, eu quero armazenar o EVP_PKEY em um banco de dados sqlite
Estou no caminho certo? Obrigado.
NSData
a NSString
.