SecKeyGeneratePairによって生成された公開鍵をSecKeyRefオブジェクトとして送信する必要があります。 これを送るには、このKeyRefオブジェクトを文字列形式にする必要があります。公開鍵(iPhoneのseckeyrefとして生成)をサーバーに送信する(Javaの場合)
どのようにしてSecKeyRefオブジェクトをnsstringオブジェクトに変換しますか?
SecKeyGeneratePairによって生成された公開鍵をSecKeyRefオブジェクトとして送信する必要があります。 これを送るには、このKeyRefオブジェクトを文字列形式にする必要があります。公開鍵(iPhoneのseckeyrefとして生成)をサーバーに送信する(Javaの場合)
どのようにしてSecKeyRefオブジェクトをnsstringオブジェクトに変換しますか?
[古い質問のクリーンアップ]
Saving SecKeyRef device generated public/private key pair on disk
はNSDataオブジェクトを作成する方法を示します。私がiOSデベロッパーではないので、私はエクササイズとしてストリング(例えばベース64エンコーディングを使用)に変換を残します。
// you have SecKeyRef keyref from somewhere
size_t keySize = SecKeyGetBlockSize(keyref);
NSData* keyData = [NSData dataWithBytes:keyref length:keySize];
そしてNSStringのにBASE64でNSDataオブジェクトを符号化するために、このNSData categoryを使用します。
NSString *keyStringB64 = [keyData base64EncodedString];
これは実際には機能しますか?誰もそれを試しましたか?あなたはバイトの 'SecKeyRef'を渡すことによって正しいデータを得ますか?私はこれを信じるのに苦労している。 – Codo
いいえ、公開鍵では特に機能しません。実際の公開鍵を文字列として取得するには、キーモジュールを解析する必要があります。ここでは、Appleの例があります:https://developer.apple.com/library/ios/samplecode/CryptoExercise/Introduction/Intro.html –