私はnsdataとして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型です。 そして私は今、私は下記のコードを使用してNSStringのに変換が、私は、コンソールにそれを印刷するときに、その一部を与えてい
NSData *keydata = [NSData dataWithBytes:P length:len];
下記ラインを使用して、バッファからのNSDataとして「P」をバイトを記憶していその他の文字。
NSString *content =[ NSString stringWithCString:[keydata bytes] encoding:NSUTF8StringEncoding];
誰かに助けてもらえますか?
基本的に私はSQLiteのデータベース
にEVP_PKEY を保存するには、私は正しい軌道に乗っていますか?おかげさまで
「他のキャラクター」ってどういう意味ですか?それはそこにあるべきではない最後に余分な文字を印刷していますか、まったく異なった文字を印刷していますか? –
全く異なっています – Zach
実際にデータが実際にUTF-8でエンコードされていますか?私はi2d_PrivateKeyに慣れていませんが、あなたの結果は正しい文字列エンコーディングを使用していないことを示唆しています。 –