2009-05-23 9 views
2

私は長い形式の公開鍵と秘密鍵を返すCRSAKeypairクラスを使用していますが、TBufの形式に変換する必要があります。 私はポインタの作成を試してみましたが、まだ運が...他の方法refのTBufへの変換

答えて

0

あなたは、おそらく似た何かを実行するためにTASN1DecRSAPublicKeyTASN1EncRSAPublicKeyクラスを使用することができますがありませんが、それを超えて、私は助けることはできません申し訳ありません。

1

CRSAKeypairを使用している場合は、Symbian暗号化ライブラリとそのドキュメントをダウンロードした可能性があります。

確かに、ドキュメンテーションは明示的ではありませんが、公開鍵を再構成するために、他のRSAエンジンにモジュラスと指数コンポーネントを送ることができます。あなたが探しているメソッドは、おそらく:

CRSAParameters :: N();
CRSAPublicKey :: E();
TInteger :: BufferLC();

最後に "C"が付いたメソッドは、クリーンアップスタックで返すメソッドをプッシュするので、自分でポップする必要があることを覚えておいてください。

あなたがTBUFにHBufC8 *を変換するために、より良い記述子を理解する必要がある場合、私はhttp://descriptors.blogspot.com

+0

「は、それらがクリーンアップスタックに戻すもの残す」置き換える、この記述子への変換を、指定された数のシステムに基づいて文字表現に指定された64ビット符号なし整数に変換し、コピー 貧しいフレーズは、混乱につながる可能性があります。 – Dynite

+0

これをはっきりさせるために編集しました –

0

にいくつかの時間を費やすが、まあ、最初のラインに沿ったデータの長さを使用してTBuf8を作成勧め:

TUint length = sizeof(myLong); 
TBuf<length> myLongBuf; 

次に、データをディスクリプタにコピーするためのこれらのディスクリプタ関数を探していますか?

TDes::Num(TInt64) 

TDes::Num(TReal,const TRealFormat &) 

既存のデータを置換する文字表現とコピーに指定された浮動小数点数に変換し、小数点文字表現コピーこのディスクリプタへの変換に64ビット符号付き整数に変換この記述子への変換、既存のデータの置換

TDes::Num(TUint64,TRadix) 

指定された64ビットの符号なしのin指定された数のシステムにコピーこの記述子への変換に基づいて、文字表現にteger、置き換える既存のデータ

TDes::NumFixedWidth(TUint,TRadix,TInt) 

は、指定された数のシステム及びコピーに基づいて、固定幅文字表現に指定された符号なし整数に変換しますこの記述子への変換、

TDes::NumFixedWidthUC(TUint,TRadix,TInt) 

は既存のデータを置き換え、固定幅文字指定された数のシステムに基づいて表現コピーこのディスクリプタへの変換に指定された符号なし整数に変換し、既存データを置換

TDes::NumUC(TUint64,TRadix) 

は、既存のデータ