ฉันกำลังจัดเก็บคีย์ส่วนตัว 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
ไฟล์.