Я храню закрытый ключ openssl EVP_PKEY как nsdata. Для этого я сериализую в поток байтов, используя приведенный ниже код.
unsigned char *buf, *p;
int len;
len = i2d_PrivateKey(pkey, NULL);
buf = OPENSSL_malloc(len);
p = buf;
i2d_PrivateKey(pkey, &p);
где pkey имеет тип EVP_PKEY. Затем я сохраняю байты из буфера 'p' как NSData, используя строку, приведенную ниже
NSData *keydata = [NSData dataWithBytes:P length:len];
Теперь я конвертирую его в NSString, используя приведенный ниже код, но когда я печатаю его на консоли, он дает некоторые другие символы.
NSString *content =[ NSString stringWithCString:[keydata bytes] encoding:NSUTF8StringEncoding];
Может кто-нибудь помочь?
В основном я хочу сохранить EVP_PKEY в базе данных sqlite
я на правильном пути? Спасибо.
NSData
формат NSString
.