Przechowuję klucz prywatny openssl EVP_PKEY jako nsdata. W tym celu serializuję do strumienia bajtów przy użyciu poniższego kodu
unsigned char *buf, *p;
int len;
len = i2d_PrivateKey(pkey, NULL);
buf = OPENSSL_malloc(len);
p = buf;
i2d_PrivateKey(pkey, &p);
gdzie pkey jest typu EVP_PKEY. Następnie przechowuję bajty z bufora `` p '' jako NSData przy użyciu linii podanej poniżej
NSData *keydata = [NSData dataWithBytes:P length:len];
Teraz konwertuję go na NSString przy użyciu kodu podanego poniżej, ale kiedy drukuję go w konsoli, podaje kilka innych znaków.
NSString *content =[ NSString stringWithCString:[keydata bytes] encoding:NSUTF8StringEncoding];
Czy ktoś mógłby pomóc?
Zasadniczo chcę przechowywać EVP_PKEY w bazie danych sqlite
czy jestem na dobrej drodze? Dzięki.
NSData
celu NSString
.