Tôi đang lưu trữ Khóa riêng tư openssl EVP_PKEY dưới dạng nsdata. Đối với điều này, tôi đang tuần tự hóa thành một luồng byte bằng cách sử dụng mã bên dưới
unsigned char *buf, *p;
int len;
len = i2d_PrivateKey(pkey, NULL);
buf = OPENSSL_malloc(len);
p = buf;
i2d_PrivateKey(pkey, &p);
trong đó pkey thuộc loại EVP_PKEY. Sau đó, tôi đang lưu trữ các byte từ bộ đệm 'p' dưới dạng NSData bằng cách sử dụng dòng dưới đây
NSData *keydata = [NSData dataWithBytes:P length:len];
Bây giờ tôi đang chuyển đổi nó thành một NSString bằng cách sử dụng mã được cung cấp bên dưới nhưng khi tôi in nó vào bảng điều khiển, nó sẽ đưa ra một số ký tự khác.
NSString *content =[ NSString stringWithCString:[keydata bytes] encoding:NSUTF8StringEncoding];
Ai đó có thể giúp đỡ?
Về cơ bản, tôi muốn lưu trữ EVP_PKEY vào cơ sở dữ liệu sqlite
có phải tôi đang trên đường ray bên phải không? Cảm ơn.
NSData
sang NSString
.