我将一个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
。