2

長い形式の公開鍵と秘密鍵を返す CRSAKeypair クラスを使用しています。TBuf 形式に変換するにはどうすればよいですか。ポインターの作成を試みましたが、まだ運がありません..他に方法はありますか

4

3 に答える 3

1

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

確かに、ドキュメントは明示的ではありませんが、公開鍵を再構成するために、モジュラスと指数コンポーネントを他の RSA エンジンに送信するだけでよいと思います。あなたが探している方法はおそらく次のとおりです。

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

末尾に「C」が付いたメソッドは、返されたものをクリーンアップ スタックにプッシュするため、自分でポップする必要があることに注意してください。

HBufC8* を TBuf に変換するために記述子をよりよく理解する必要がある場合は、http: //descriptors.blogspot.com を参照することをお勧めします。

于 2009-05-27T09:51:08.517 に答える
0

TASN1DecRSAPublicKeyクラスとTASN1EncRSAPublicKeyクラスを使用して同様のことを実行することもできますが、それ以上のことはできません。

于 2009-05-23T11:10:36.420 に答える
0

まず、次の行に沿ったデータの長さで TBuf8 を作成します。

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

次に、これらの記述子関数のいくつかを探して、データを記述子にコピーしますか?

TDes::Num(TInt64)

64 ビットの符号付き整数を 10 進文字表現に変換し、変換をこの記述子にコピーして、既存のデータを置き換えます。

TDes::Num(TReal,const TRealFormat &)

指定された浮動小数点数を文字表現に変換し、変換をこの記述子にコピーして、既存のデータを置き換えます

TDes::Num(TUint64,TRadix)

指定された 64 ビット符号なし整数を、指定された記数法に基づいた文字表現に変換し、その変換をこの記述子にコピーして、既存のデータを置き換えます。

TDes::NumFixedWidth(TUint,TRadix,TInt)

指定された符号なし整数を、指定された記数法に基づいて固定幅の文字表現に変換し、その変換をこの記述子にコピーして、既存のデータを置き換えます。

TDes::NumFixedWidthUC(TUint,TRadix,TInt)

指定された符号なし整数を、指定された記数法に基づいて固定幅の文字表現に変換し、その変換をこの記述子にコピーして、既存のデータを置き換えます。

TDes::NumUC(TUint64,TRadix)

指定された 64 ビット符号なし整数を、指定された記数法に基づいた文字表現に変換し、その変換をこの記述子にコピーして、既存のデータを置き換えます。

于 2009-12-22T15:11:28.493 に答える