2009-05-23 7 views
2

Ich benutze CRSAKeypair Klasse, die den öffentlichen Schlüssel und privaten Schlüssel, der in langen Format ist, ich möchte es in TBuf Format konvertieren, wie ich fortfahren sollte. Ich habe Schaffung von Zeigern versucht, aber noch kein Glück .. gibt es eine andere Art und WeiseKonvertierung von Ref zu TBuf

Antwort

1

Wenn Sie CRSAKeypair verwenden, haben Sie wahrscheinlich die Symbian-Kryptographiebibliothek und ihre Dokumentation heruntergeladen.

Zugegeben, die Dokumentation ist nicht explizit, aber ich würde wagen, dass Sie nur die Modulus-und Exponenten-Komponenten an eine andere RSA-Engine senden, um den öffentlichen Schlüssel wiederherzustellen. Die Methoden, die Sie suchen, sind wahrscheinlich:

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

Denken Sie daran, dass Methoden mit einem abschließenden "C" drücken, was sie auf dem Bereinigungsstapel zurückgeben, so dass Sie es selbst aufsetzen müssen.

Wenn Sie besser verstehen Deskriptoren HBufC8 * zu TBuf, schlage ich vor, die Ausgaben einiger Zeit auf http://descriptors.blogspot.com

+0

„lassen, was sie auf dem Bereinigungsstapel zurückkehren“ Schlechte Phrasierung könnte zu Verwirrung führen. – Dynite

+0

bearbeitet, um es klarer zu machen –

0

Nun zunächst erstellen Sie Ihre TBuf8 mit der Länge der Daten entlang der Linien zu konvertieren:

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

Dann suchen Sie vielleicht nach einigen dieser Deskriptorfunktionen, um die Daten in den Deskriptor zu kopieren?

TDes::Num(TInt64) 

Wandelt den 64-Bit-Ganzzahl mit Vorzeichen in eine dezimale Zeichendarstellung und kopiert die Umwandlung in diesen Deskriptor ersetzt, alle vorhandenen Daten

TDes::Num(TReal,const TRealFormat &) 

Wandelt den angegebenen Gleitpunktzahl in eine Zeichendarstellung und Kopien Die Konvertierung in diesen Deskriptor ersetzt alle vorhandenen Daten

TDes::Num(TUint64,TRadix) 

Konvertiert die angegebenen 64 Bit unsigned in Teger in eine Zeichendarstellung auf der angegebenen Zahlensystem basiert, und kopiert die Umwandlung in dieses Deskriptors, ersetzt alle vorhandenen Daten

TDes::NumFixedWidth(TUint,TRadix,TInt) 

Wandelt den angegebenen unsigned integer in eine feste Breite Darstellung Zeichen auf der Grundlage der festgelegten Anzahl System und kopiert die Umwandlung in dieses Deskriptors, ersetzt alle vorhandenen Daten

TDes::NumFixedWidthUC(TUint,TRadix,TInt) 

Wandelt den angegebenen unsigned integer in eine feste Breite Zeichendarstellung auf dem angegebenen Zahlensystem und kopiert die Umwandlung in dieses Deskriptors basiert, alle vorhandenen Daten zu ersetzen

TDes::NumUC(TUint64,TRadix) 

Wandelt die angegebenen 64-Bit Integer ohne Vorzeichen in eine Zeichendarstellung auf dem angegebenen Zahlensystem und kopiert die Umwandlung in diesen Deskriptors basierte, alle vorhandenen Daten zu ersetzen